.bac-to {
	--bac-to-gold: #e3a141;
	--bac-to-gold-hover: #f6b747;
	--bac-to-charcoal: #181715;
	--bac-to-black: #000000;
	--bac-to-white: #ffffff;
	--bac-to-border: rgba(227, 161, 65, 0.55);
	--bac-to-panel-padding: 20px;
	box-sizing: border-box;
	color: var(--bac-to-white);
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}
.bac-to *, .bac-to *::before, .bac-to *::after { box-sizing: border-box; }
.bac-to h2, .bac-to h3, .bac-to p, .bac-to ul, .bac-to ol { margin: 0; }
.bac-to h2, .bac-to h3 { color: var(--bac-to-white); font-family: Montserrat, Arial, sans-serif; font-weight: 700; }
.bac-to h2 { font-size: 26px; line-height: 1.15; margin: 0 0 12px; }
.bac-to h3 { font-size: 18px; line-height: 1.25; margin: 0 0 12px; }
.bac-to p, .bac-to ul, .bac-to ol { color: var(--bac-to-white); font-size: 16px; line-height: 1.6; }
.bac-to.bac-to-state .bac-to-state__content > p:not(.bac-to-eyebrow),
.bac-to.bac-to-contact > p:not(.bac-to-eyebrow),
.bac-to.bac-to-form .bac-to-form__header > p:not(.bac-to-eyebrow) { color: var(--bac-to-white); font-size: 16px; line-height: 1.6; margin: 0; }
.bac-to ul, .bac-to ol { padding-inline-start: 22px; }
/* Own the rendered heading cascade; keep theme/Elementor h2 rules outside it. */
.bac-to.bac-to-state .bac-to-state__content > h2[id^="bac-to-state-"],
.bac-to.bac-to-contact > h2#bac-to-contact-heading,
.bac-to.bac-to-contact > h2#bac-to-contact-protected,
.bac-to.bac-to-form .bac-to-form__header > h2#bac-to-form-heading {
	color: var(--bac-to-white);
	font-family: Montserrat, Arial, sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 12px;
}
.bac-to.bac-to-contact > h2#bac-to-contact-heading,
.bac-to.bac-to-contact > h2#bac-to-contact-protected { font-size: 24px; }
.bac-to.bac-to-form .bac-to-form__header > h2#bac-to-form-heading { font-size: 28px; }
.bac-to .bac-to-eyebrow { color: var(--bac-to-gold); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; line-height: 1.4; margin: 0 0 8px; text-transform: uppercase; }
.bac-to.bac-to-action, .bac-to.bac-to-contact, .bac-to.bac-to-form {
	background: var(--bac-to-charcoal);
	border: 1px solid var(--bac-to-border);
	border-top: 3px solid var(--bac-to-gold);
	border-radius: 6px;
	margin: 1.25rem 0;
}
.bac-to.bac-to-action, .bac-to.bac-to-contact { padding: var(--bac-to-panel-padding); }
.bac-to.bac-to-state { display: flex; gap: 0.85rem; align-items: flex-start; }
.bac-to .bac-to-state__content { min-width: 0; max-width: 48rem; }
.bac-to .bac-to-state__icon { color: var(--bac-to-gold); flex: 0 0 1.6rem; font-size: 1.5rem; line-height: 1.3; }
.bac-to .bac-to-state__actions, .bac-to .bac-to-contact__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.bac-to .bac-to-contact__actions { margin-top: 18px; }
.bac-to.bac-to-contact > p.bac-to-contact__name { color: var(--bac-to-white); font-size: 17px; font-weight: 700; }
.bac-to .bac-to-contact__empty { font-style: italic; }

/* Explicit theme-resistant link states, including visited and keyboard focus. */
.bac-to a:link, .bac-to a:visited, .bac-to a:focus { color: var(--bac-to-gold); }
.bac-to a:hover, .bac-to a:active { color: var(--bac-to-gold-hover); }
.bac-to a:focus-visible { color: var(--bac-to-gold); outline: 3px solid var(--bac-to-gold-hover); outline-offset: 3px; }
.bac-to a.bac-to-button, .bac-to.bac-to-form .jet-form-builder__submit {
	align-items: center;
	border: 1px solid var(--bac-to-gold);
	border-radius: 4px;
	box-shadow: none;
	display: inline-flex;
	font: 700 16px/1.3 Montserrat, Arial, sans-serif;
	gap: 0.5rem;
	justify-content: center;
	max-width: 100%;
	min-height: 48px;
	min-width: 0;
	padding: 13px 20px;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.bac-to a.bac-to-button.bac-to-button--primary,
.bac-to a.bac-to-button.bac-to-button--primary:is(:link, :visited, :focus, :focus-visible),
.bac-to.bac-to-form .jet-form-builder__submit,
.bac-to.bac-to-form .jet-form-builder__submit:is(:link, :visited, :focus, :focus-visible) {
	background: var(--bac-to-gold); border-color: var(--bac-to-gold); color: var(--bac-to-black);
}
.bac-to a.bac-to-button.bac-to-button--primary:is(:hover, :active),
.bac-to.bac-to-form .jet-form-builder__submit:is(:hover, :active) {
	background: var(--bac-to-gold-hover); border-color: var(--bac-to-gold-hover); color: var(--bac-to-black);
}
.bac-to a.bac-to-button:is(.bac-to-button--secondary, .bac-to-button--contact),
.bac-to a.bac-to-button:is(.bac-to-button--secondary, .bac-to-button--contact):is(:link, :visited, :focus, :focus-visible) {
	background: var(--bac-to-charcoal); border-color: var(--bac-to-gold); color: var(--bac-to-gold);
}
.bac-to a.bac-to-button:is(.bac-to-button--secondary, .bac-to-button--contact):is(:hover, :active) {
	background: var(--bac-to-gold); border-color: var(--bac-to-gold); color: var(--bac-to-black);
}
.bac-to a.bac-to-button:focus-visible, .bac-to.bac-to-form .jet-form-builder__submit:focus-visible {
	outline: 3px solid var(--bac-to-white); outline-offset: 3px; box-shadow: 0 0 0 6px var(--bac-to-gold);
}
.bac-to a.bac-to-button :is(span, i, svg),
.bac-to.bac-to-form .jet-form-builder__submit :is(span, i, svg) { color: inherit; }

.bac-to .bac-to-form__header { background: var(--bac-to-black); border-bottom: 1px solid var(--bac-to-border); padding: 20px var(--bac-to-panel-padding); }
.bac-to .bac-to-form__body { min-width: 0; max-width: 100%; padding: var(--bac-to-panel-padding); }

/* Normalize INNER geometry first: JFB layout-row otherwise keeps label and
   field-wrap side-by-side. Both direct and wrapped rows get the same reset. */
.bac-to.bac-to-form .jet-form-builder,
.bac-to.bac-to-form .jet-form-builder-row,
.bac-to.bac-to-form .jet-form-builder__label,
.bac-to.bac-to-form .jet-form-builder__field-wrap,
.bac-to.bac-to-form .jet-form-builder__submit-wrap,
.bac-to.bac-to-form .jet-sm-gb-wrapper,
.bac-to.bac-to-form .bac-to-field,
.bac-to.bac-to-form .bac-to-form-field {
	box-sizing: border-box;
	display: block;
	float: none;
	min-width: 0;
	max-width: 100%;
	width: 100%;
	margin: 0;
	flex-basis: auto;
}
.bac-to.bac-to-form .jet-form-builder-row { padding: 0; }
.bac-to.bac-to-form .jet-form-builder__label { padding: 0; margin-bottom: 8px; }
.bac-to.bac-to-form .jet-form-builder__field-wrap { padding: 0; }
.bac-to.bac-to-form .jet-form-builder__label-text { color: var(--bac-to-white); font-size: 16px; font-weight: 700; line-height: 1.5; }
.bac-to.bac-to-form .jet-form-builder__required { color: var(--bac-to-gold); }
.bac-to.bac-to-form .jet-form-builder__desc { color: rgba(255, 255, 255, 0.78); font-size: 14px; line-height: 1.5; margin-top: 8px; }
.bac-to.bac-to-form .jet-form-builder input:not([type="hidden"]),
.bac-to.bac-to-form .jet-form-builder textarea {
	background: var(--bac-to-white);
	border: 1px solid #777777;
	border-radius: 4px;
	box-sizing: border-box;
	color: var(--bac-to-black);
	box-shadow: none;
	display: block;
	font: inherit;
	font-size: 16px;
	min-height: 48px;
	min-width: 0;
	max-width: 100%;
	width: 100%;
	margin: 0;
	padding: 14px 16px;
}
.bac-to.bac-to-form .jet-form-builder textarea { min-height: 132px; resize: vertical; }
.bac-to.bac-to-form .jet-form-builder :is(input, textarea)::placeholder { color: #595959; opacity: 1; }
.bac-to.bac-to-form .jet-form-builder :is(input, textarea):focus {
	background: var(--bac-to-white); color: var(--bac-to-black); border-color: var(--bac-to-gold);
	box-shadow: 0 0 0 1px var(--bac-to-gold);
	outline: 2px solid var(--bac-to-gold); outline-offset: 2px;
}
.bac-to.bac-to-form .jet-form-builder :is(input, textarea)[aria-invalid="true"],
.bac-to.bac-to-form :is(.has-error, .jet-form-builder-row--error) .jet-form-builder__field { border-color: #b42318; }
.bac-to.bac-to-form :is(.jet-form-builder__field-error, .error-message, .jet-form-builder-message--error, .jet-form-builder-message--failed) { color: #ffb4ab; font-size: 0.9rem; }
.bac-to.bac-to-form .jet-form-builder-message--success { color: var(--bac-to-white); border-left: 3px solid var(--bac-to-gold); padding: 0.75rem; }
.bac-to.bac-to-form .jet-form-builder__submit { cursor: pointer; width: 100%; }
.bac-to.bac-to-form .jet-form-builder__submit:disabled { cursor: wait; opacity: 0.75; }

/* Mobile-safe without :has(): every server-rendered field has a stable outer item. */
.bac-to.bac-to-form .jet-form-builder { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
.bac-to.bac-to-form .jet-form-builder > :not(input) { min-width: 0; max-width: 100%; grid-column: 1 / -1; }
.bac-to.bac-to-form .jet-form-builder input[type="hidden"],
.bac-to.bac-to-form .jet-form-builder .field-type-hidden-field { display: none; }

@media (min-width: 768px) {
	.bac-to { --bac-to-panel-padding: 26px; }
	.bac-to .bac-to-eyebrow { font-size: 13px; }
	.bac-to h2 { font-size: 28px; }
	.bac-to h3 { font-size: 20px; }
	.bac-to.bac-to-state .bac-to-state__content > h2[id^="bac-to-state-"] { font-size: 28px; }
	.bac-to.bac-to-contact > h2#bac-to-contact-heading,
	.bac-to.bac-to-contact > h2#bac-to-contact-protected { font-size: 28px; }
	.bac-to.bac-to-form .bac-to-form__header > h2#bac-to-form-heading { font-size: 32px; }
	.bac-to .bac-to-form__header { padding-block: 22px; }
	.bac-to.bac-to-form .jet-form-builder { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
	.bac-to.bac-to-form .jet-form-builder > .bac-to-form-field--half { grid-column: span 1; }
	/* Progressive enhancement for unmodified mixed production captures/legacy HTML. */
	.bac-to.bac-to-form .jet-form-builder > :is(.jet-form-builder-row, .jet-sm-gb-wrapper, .bac-to-field):has([name="applicant_name"], [name="applicant_email"], [name="applicant_phone"], [name="applicant_location"]) { grid-column: span 1; }
}
@media (min-width: 1024px) {
	.bac-to { --bac-to-panel-padding: 30px; }
	.bac-to h2 { font-size: 30px; }
	.bac-to.bac-to-state .bac-to-state__content > h2[id^="bac-to-state-"] { font-size: 30px; }
	.bac-to.bac-to-form .bac-to-form__header > h2#bac-to-form-heading { font-size: 34px; }
	.bac-to .bac-to-form__header { padding-block: 24px; }
}
@media (max-width: 767px) {
	.bac-to a.bac-to-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.bac-to a.bac-to-button, .bac-to.bac-to-form .jet-form-builder__submit { transition: none; }
}
