/* =========================================================================
   Contact Us
   Figma: 226:1675 desktop · 381:4482 mobile
   Scoped to .page-contact-us / template-contact only.
   Header & footer intentionally untouched.
   ========================================================================= */

.page-template-template-contact .site-main,
.page-contact-us .site-main {
	background: #fafaf6;
}

.page-template-template-contact .page__head,
.page-contact-us .page__head {
	display: none;
}

.page-template-template-contact .page,
.page-contact-us .page {
	max-width: none;
	width: 100%;
	margin-inline: 0;
	padding: 0;
}

.page-template-template-contact .page__content,
.page-contact-us .page__content {
	max-width: none;
	width: 100%;
	margin-inline: 0;
	padding: 80px 48px 0;
	box-sizing: border-box;
}

.page-template-template-contact .prose,
.page-contact-us .prose {
	color: #1a1816;
	max-width: 1440px;
	margin: 0 auto;
}

.page-template-template-contact .prose > * + *,
.page-contact-us .prose > * + * {
	margin-top: 0;
}

/* Hide Toolset encoded style dump + empty trailing paragraphs */
.page-template-template-contact .tces-js-style-encoded,
.page-contact-us .tces-js-style-encoded,
.page-template-template-contact .page__content > p:empty,
.page-contact-us .page__content > p:empty {
	display: none;
}

/* ---- Breadcrumb -------------------------------------------------------- */
.page-template-template-contact .breadcrumb,
.page-contact-us .breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 32px;
	padding: 0;
	color: #6e665a;
	font-family: var(--font-sans);
	font-size: 0.75rem; /* 12 */
	font-weight: var(--weight-regular);
	line-height: 1.5;
}

.page-template-template-contact .breadcrumb a,
.page-contact-us .breadcrumb a {
	color: #6e665a;
	text-decoration: none;
}

.page-template-template-contact .breadcrumb a:hover,
.page-contact-us .breadcrumb a:hover {
	color: #a03038;
}

.page-template-template-contact .breadcrumb__current,
.page-contact-us .breadcrumb__current {
	color: #1a1816;
}

/* When breadcrumb lives outside .page__content (template) */
.page-template-template-contact .page > .breadcrumb,
.page-contact-us .page > .breadcrumb {
	padding: 80px 48px 0;
	margin-bottom: 0;
}

.page-template-template-contact .page > .breadcrumb + .page__content,
.page-contact-us .page > .breadcrumb + .page__content {
	padding-top: 32px;
}

/* ---- Hero -------------------------------------------------------------- */
.page-template-template-contact .page__content > h1,
.page-contact-us .page__content > h1 {
	margin: 0 0 16px;
	color: #1a1816;
	font-family: var(--font-display);
	font-size: 5rem; /* 80 */
	font-weight: var(--weight-medium);
	letter-spacing: -0.03em; /* -2.4 */
	line-height: 1;
}

.page-template-template-contact .page__content > p.wp-block-paragraph:first-of-type,
.page-contact-us .page__content > p.wp-block-paragraph:first-of-type {
	margin: 0 0 32px;
    max-width: 644px;
	color: #5c544a;
	font-family: var(--font-sans);
	font-size: 1.3125rem; /* 21 */
	font-weight: var(--weight-regular);
	line-height: 1.3;
}

/* ---- Two-column: form + info — pad 24/48/80 ---------------------------- */
.page-template-template-contact .page__content > .wp-block-columns,
.page-contact-us .page__content > .wp-block-columns {
	display: flex;
	align-items: flex-start;
	gap: 48px;
	width: 100vw;
	max-width: 100vw;
	margin: 0;
	margin-inline: calc(50% - 50vw);
	padding: 24px 48px 80px;
	box-sizing: border-box;
	justify-content: center;
}

.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column,
.page-contact-us .page__content > .wp-block-columns > .wp-block-column {
	margin: 0;
}

/* Form card */
.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:first-child,
.page-contact-us .page__content > .wp-block-columns > .wp-block-column:first-child {
	display: flex;
	flex-direction: column;
	gap: 20px;
	flex: 1 1 859px;
	max-width: 859px;
	padding: 32px;
	background: #fff;
	border: 1px solid #e7e2d7;
	border-radius: 16px;
	box-sizing: border-box;
}

.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column h2,
.page-contact-us .page__content > .wp-block-columns > .wp-block-column h2 {
	margin: 0;
	color: #1a1816;
	font-family: var(--font-display);
	font-size: 1.6875rem; /* 27 */
	font-weight: var(--weight-medium);
	letter-spacing: -0.02em; /* -0.54 */
	line-height: 1;
}

/* Contact info */
.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:last-child,
.page-contact-us .page__content > .wp-block-columns > .wp-block-column:last-child {
	display: flex;
	flex-direction: column;
	gap: 0;
	flex: 0 1 437px;
	max-width: 437px;
	min-width: 0;
}

.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:last-child > h2,
.page-contact-us .page__content > .wp-block-columns > .wp-block-column:last-child > h2 {
	margin: 0 0 32px;
}

.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:last-child > p,
.page-contact-us .page__content > .wp-block-columns > .wp-block-column:last-child > p {
	margin: 0;
}

/* Label / value pairs: 1 label, 2 value, 3 label, 4 value */
.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(1),
.page-contact-us .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(1),
.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(3),
.page-contact-us .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(3) {
	margin: 0;
	color: #6e665a;
	font-family: var(--font-sans);
	font-size: 0.75rem; /* 12 */
	font-weight: var(--weight-regular);
	line-height: 1.5;
}

.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(2),
.page-contact-us .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(2),
.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(4),
.page-contact-us .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(4) {
	margin: 3px 0 0;
	color: #1a1816;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: var(--weight-regular);
	line-height: 1.5;
}

.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(3),
.page-contact-us .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(3) {
	margin-top: 16px;
}

.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(2) a,
.page-contact-us .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(2) a {
	color: #1a1816;
	text-decoration: none;
}

.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(2) a:hover,
.page-contact-us .page__content > .wp-block-columns > .wp-block-column:last-child > p:nth-of-type(2) a:hover {
	color: #a03038;
	text-decoration: underline;
}

/* “Do not mail tenders” alert — Figma #f4f1f1 r14 */
.page-template-template-contact .tb-container,
.page-contact-us .tb-container {
	margin: 32px 0 0;
	padding: 16px !important;
	background: #f4f1f1 !important;
	border: 0 !important;
	border-radius: 14px !important;
	box-sizing: border-box;
}

.page-template-template-contact .tb-container h3,
.page-contact-us .tb-container h3 {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 10px;
	color: #1a1816;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: var(--weight-semibold);
	line-height: 1.2;
}

.page-template-template-contact .tb-container h3::before,
.page-contact-us .tb-container h3::before {
	content: "⚠";
	flex: 0 0 auto;
	font-size: 1rem;
	line-height: 1.2;
}

.page-template-template-contact .tb-container h3 strong,
.page-contact-us .tb-container h3 strong {
	font-weight: inherit;
}

.page-template-template-contact .tb-container p,
.page-contact-us .tb-container p {
	margin: 0;
	color: #5c544a;
	font-family: var(--font-sans);
	font-size: 0.75rem; /* 12 */
	font-weight: var(--weight-regular);
	line-height: 1.5;
}

/* ---- Ninja Forms ------------------------------------------------------- */
.page-template-template-contact .nf-form-cont,
.page-contact-us .nf-form-cont {
	margin: 0;
	width: 100%;
}

.page-template-template-contact .nf-form-title,
.page-contact-us .nf-form-title,
.page-template-template-contact .nf-before-form,
.page-contact-us .nf-before-form,
.page-template-template-contact .nf-after-form,
.page-contact-us .nf-after-form,
.page-template-template-contact .nf-form-fields-required,
.page-contact-us .nf-form-fields-required {
	display: none !important;
}

.page-template-template-contact .nf-form-content,
.page-contact-us .nf-form-content {
	display: block;
	margin: 0;
	width: 100%;
}

.page-template-template-contact .nf-form-content .nf-row,
.page-contact-us .nf-form-content .nf-row {
	display: block !important;
	width: 100%;
	margin: 0 0 20px;
	float: none !important;
}

.page-template-template-contact .nf-form-content .nf-row:last-child,
.page-contact-us .nf-form-content .nf-row:last-child {
	margin-bottom: 0;
}

/* Ninja Forms wraps cells in a custom <nf-cells> element */
.page-template-template-contact .nf-form-content .nf-row > nf-cells,
.page-contact-us .nf-form-content .nf-row > nf-cells,
.page-template-template-contact .nf-form-content nf-cells,
.page-contact-us .nf-form-content nf-cells {
	display: flex !important;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 16px;
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
}

.page-template-template-contact .nf-form-content .nf-cell,
.page-contact-us .nf-form-content .nf-cell {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
	min-width: 0;
}

.page-template-template-contact .nf-form-content .nf-cell[style*="50%"],
.page-contact-us .nf-form-content .nf-cell[style*="50%"] {
	flex: 1 1 calc((100% - 16px) / 2);
	width: calc((100% - 16px) / 2) !important;
	max-width: calc((100% - 16px) / 2);
}

.page-template-template-contact .nf-form-content .nf-cell[style*="100%"],
.page-contact-us .nf-form-content .nf-cell[style*="100%"] {
	flex: 1 1 100%;
	width: 100% !important;
	max-width: 100%;
}

.page-template-template-contact .nf-field-container,
.page-contact-us .nf-field-container {
	margin: 0;
	width: 100%;
}

.page-template-template-contact .nf-field,
.page-contact-us .nf-field {
	margin: 0;
	width: 100%;
}

.page-template-template-contact .nf-field-label,
.page-contact-us .nf-field-label,
.page-template-template-contact .label-hidden .nf-field-label,
.page-contact-us .label-hidden .nf-field-label {
	display: block !important;
	visibility: visible !important;
	position: static !important;
	height: auto !important;
	width: auto !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	clip: auto !important;
	overflow: visible !important;
}

.page-template-template-contact .nf-field-label label,
.page-contact-us .nf-field-label label,
.page-template-template-contact .nf-label-span,
.page-contact-us .nf-label-span {
	display: block;
	margin: 0;
	color: #1a1816;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: var(--weight-semibold);
	line-height: 1.2;
}

.page-template-template-contact .nf-field-label .ninja-forms-req-symbol,
.page-contact-us .nf-field-label .ninja-forms-req-symbol {
	color: #a03038;
}

.page-template-template-contact .nf-field-element input[type="text"],
.page-contact-us .nf-field-element input[type="text"],
.page-template-template-contact .nf-field-element input[type="email"],
.page-contact-us .nf-field-element input[type="email"],
.page-template-template-contact .nf-field-element input[type="tel"],
.page-contact-us .nf-field-element input[type="tel"],
.page-template-template-contact .nf-field-element input[type="url"],
.page-contact-us .nf-field-element input[type="url"],
.page-template-template-contact .nf-field-element input[type="number"],
.page-contact-us .nf-field-element input[type="number"],
.page-template-template-contact .nf-field-element select,
.page-contact-us .nf-field-element select,
.page-template-template-contact .nf-field-element textarea,
.page-contact-us .nf-field-element textarea,
.page-template-template-contact .ninja-forms-field,
.page-contact-us .ninja-forms-field {
	width: 100% !important;
	min-height: 50px;
	padding: 13px 14px !important;
	background: #fff !important;
	border: 1px solid #d8d1c2 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	color: #1a1816;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: var(--weight-regular);
	line-height: 1.5;
	box-sizing: border-box;
}

.page-template-template-contact .nf-field-element textarea,
.page-contact-us .nf-field-element textarea,
.page-template-template-contact textarea.ninja-forms-field,
.page-contact-us textarea.ninja-forms-field {
	min-height: 120px;
	height: 120px;
	resize: vertical;
}

.page-template-template-contact .nf-field-element input::placeholder,
.page-contact-us .nf-field-element input::placeholder,
.page-template-template-contact .nf-field-element textarea::placeholder,
.page-contact-us .nf-field-element textarea::placeholder {
	color: #6e665a;
	opacity: 1;
}

.page-template-template-contact .nf-field-element input:focus,
.page-contact-us .nf-field-element input:focus,
.page-template-template-contact .nf-field-element select:focus,
.page-contact-us .nf-field-element select:focus,
.page-template-template-contact .nf-field-element textarea:focus,
.page-contact-us .nf-field-element textarea:focus {
	outline: none;
	border-color: #a03038;
	box-shadow: 0 0 0 3px color-mix(in srgb, #a03038 18%, transparent);
}

.page-template-template-contact .nf-field-element select,
.page-contact-us .nf-field-element select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%231a1816' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 40px;
	color: #6e665a;
}

.page-template-template-contact .nf-field-element select:valid,
.page-contact-us .nf-field-element select:valid {
	color: #1a1816;
}

.page-template-template-contact .submit-container,
.page-contact-us .submit-container,
.page-template-template-contact .nf-field-container.submit-container,
.page-contact-us .nf-field-container.submit-container {
	margin: 0;
	width: 100% !important;
}

.page-template-template-contact .submit-container .nf-field,
.page-contact-us .submit-container .nf-field,
.page-template-template-contact .submit-container .nf-field-element,
.page-contact-us .submit-container .nf-field-element {
	width: 100% !important;
}

.page-template-template-contact .nf-field-element input[type="button"],
.page-contact-us .nf-field-element input[type="button"],
.page-template-template-contact .nf-field-element input[type="submit"],
.page-contact-us .nf-field-element input[type="submit"],
.page-template-template-contact input[type="button"].ninja-forms-field,
.page-contact-us input[type="button"].ninja-forms-field,
.page-template-template-contact .nf-element[type="button"],
.page-contact-us .nf-element[type="button"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	max-width: 100%;
	min-height: 45px;
	padding: 13px 24px !important;
	background: #a03038 !important;
	border: 1px solid #a03038 !important;
	border-radius: 8px !important;
	color: #fff7f0 !important;
	cursor: pointer;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: var(--weight-semibold);
	line-height: 1.2;
	transition: background var(--duration) var(--ease), border-color var(--duration) var(--ease);
}

.page-template-template-contact .nf-field-element input[type="button"]:hover,
.page-contact-us .nf-field-element input[type="button"]:hover,
.page-template-template-contact .nf-field-element input[type="submit"]:hover,
.page-contact-us .nf-field-element input[type="submit"]:hover,
.page-template-template-contact input[type="button"].ninja-forms-field:hover,
.page-contact-us input[type="button"].ninja-forms-field:hover {
	background: var(--red-700, #82262d);
	border-color: var(--red-700, #82262d);
	color: #fff7f0;
}

.page-template-template-contact .nf-error .nf-error-msg,
.page-contact-us .nf-error .nf-error-msg,
.page-template-template-contact .nf-error-msg,
.page-contact-us .nf-error-msg {
	margin-top: 6px;
	color: #a03038;
	font-size: 0.75rem;
	line-height: 1.4;
}

.page-template-template-contact .nf-response-msg,
.page-contact-us .nf-response-msg {
	margin: 0;
	padding: 16px;
	background: #fff;
	border: 1px solid #e7e2d7;
	border-radius: 10px;
	color: #1a1816;
	font-size: 1rem;
	line-height: 1.5;
}

/* ---- Mobile — Figma 381:4482 ------------------------------------------- */
@media (max-width: 900px) {
	.page-template-template-contact .page__content,
	.page-contact-us .page__content {
		padding: 40px 24px 0;
	}

	.page-template-template-contact .page > .breadcrumb,
	.page-contact-us .page > .breadcrumb {
		padding: 32px 24px 0;
	}

	.page-template-template-contact .breadcrumb,
	.page-contact-us .breadcrumb {
		margin-bottom: 24px;
	}

	.page-template-template-contact .page > .breadcrumb + .page__content,
	.page-contact-us .page > .breadcrumb + .page__content {
		padding-top: 24px;
	}

	.page-template-template-contact .page__content > h1,
	.page-contact-us .page__content > h1 {
		margin-bottom: 24px;
		font-size: 2.5rem; /* 40 */
		letter-spacing: -0.03em;
	}

	.page-template-template-contact .page__content > p.wp-block-paragraph:first-of-type,
	.page-contact-us .page__content > p.wp-block-paragraph:first-of-type {
		margin-bottom: 0;
		font-size: 1.1875rem; /* 19 */
		line-height: 1.3;
	}

	.page-template-template-contact .page__content > .wp-block-columns,
	.page-contact-us .page__content > .wp-block-columns {
		flex-direction: column;
		gap: 0;
		padding: 48px 0 0;
	}

	/* Form becomes full-bleed white band (no card chrome) */
	.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:first-child,
	.page-contact-us .page__content > .wp-block-columns > .wp-block-column:first-child {
		flex: 1 1 auto;
		max-width: none;
		width: 100%;
		gap: 32px;
		padding: 48px 24px;
		border: 0;
		border-radius: 0;
	}

	.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:first-child > h2,
	.page-contact-us .page__content > .wp-block-columns > .wp-block-column:first-child > h2 {
		font-size: 1.4375rem; /* 23 */
	}

	.page-template-template-contact .nf-form-content,
	.page-contact-us .nf-form-content {
		gap: 16px;
	}

	.page-template-template-contact .nf-form-content .nf-row,
	.page-contact-us .nf-form-content .nf-row {
		flex-direction: column;
		gap: 16px;
	}

	.page-template-template-contact .nf-form-content .nf-cell,
	.page-contact-us .nf-form-content .nf-cell {
		width: 100% !important;
		flex-basis: 100% !important;
	}

	.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:last-child,
	.page-contact-us .page__content > .wp-block-columns > .wp-block-column:last-child {
		flex: 1 1 auto;
		max-width: none;
		width: 100%;
		padding: 48px 24px;
	}

	.page-template-template-contact .page__content > .wp-block-columns > .wp-block-column:last-child > h2,
	.page-contact-us .page__content > .wp-block-columns > .wp-block-column:last-child > h2 {
		margin-bottom: 24px;
		font-size: 1.4375rem; /* 23 */
	}

	.page-template-template-contact .tb-container,
	.page-contact-us .tb-container {
		margin-top: 24px;
	}
}


/* Form */
.nf-form-content,
.nf-multi-cell .nf-cell {
	padding: 0 !important;
}
.nf-row:nth-of-type(1) .nf-cell:nth-of-type(1) {
	padding-right: 10px !important;
}
.nf-row:nth-of-type(1) .nf-cell:nth-of-type(2) {
	padding-left: 10px !important;
}
.nf-form-content .label-above .nf-field-label,
.nf-form-content .label-below .nf-field-label,
.nf-form-content .label-hidden .nf-field-label {
	margin-bottom: 0 !important;
}
.nf-form-content .list-select-wrap[data-field-id="11"] .nf-field-element>select {
	border: 1px solid #d8d1c2;
	border-radius: 8px;
}
.nf-form-content .list-select-wrap[data-field-id="11"] .nf-field-element>select:valid {
	color: #1a1816;
}
.nf-form-content .list-select-wrap[data-field-id="11"] .nf-field-element>div {
	background-color: #fff;
	border: none;
}
@media (max-width: 600px) {
	.nf-row:nth-of-type(1) .nf-cell:nth-of-type(1) {
		padding-right: 0 !important;
	}
	.nf-row:nth-of-type(1) .nf-cell:nth-of-type(2) {
		padding-left: 0 !important;
	}
}