/* Contact page - reference-matched layout. */
.contact-page,
.contact-page > .wp-block-shortcode {
	max-width: none !important;
	margin: 0 !important;
}
.contact-hero {
	position: relative;
	min-height: 286px;
	overflow: hidden;
	border-bottom: 1px solid var(--aditi-border);
	background: var(--aditi-surface-primary);
}
.contact-hero__inner {
	position: relative;
	z-index: 2;
	width: min(1312px, calc(100% - 64px));
	display: grid;
	grid-template-columns: minmax(400px, 445px) minmax(650px, 1fr);
	gap: 54px;
	margin: 0 auto;
	padding: var(--aditi-space-30) 0 29px;
}
.contact-hero__dots {
	position: absolute;
	top: 31px;
	bottom: 35px;
	left: 0;
	width: 70px;
	background-image: radial-gradient(var(--aditi-brand-orange-vivid) 2px, transparent 2.2px);
	background-size: 19px 20px;
	opacity: .95;
}
.contact-hero__waves {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 245px;
	color: rgba(249, 115, 22, .17);
}
.contact-hero__copy {
	align-self: center;
	padding-top: var(--aditi-space-5);
}
.contact-eyebrow {
	position: relative;
	display: inline-block;
	margin: 0 0 var(--aditi-space-13);
	padding-bottom: var(--aditi-space-10);
	color: var(--aditi-brand-orange-cta);
	font-size: .8rem;
	font-weight: var(--aditi-font-weight-extrabold);
	text-transform: uppercase;
}
.contact-eyebrow::after,
.contact-panel > h2::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 34px;
	height: 2px;
	background: var(--aditi-brand-orange-vivid);
	content: "";
}
.contact-hero__copy h1 {
	margin: 0;
	color: var(--aditi-navy);
	font-size: clamp(2.25rem, 3.3vw, 3rem);
	letter-spacing: -.045em;
	line-height: 1.07;
}
.contact-hero__copy h1 span,
.contact-apps > h2 {
	color: var(--aditi-brand-orange-cta);
}
.contact-hero__copy > p:last-child {
	max-width: 410px;
	margin: var(--aditi-space-15) 0 0;
	color: var(--aditi-text-secondary);
	font-size: var(--aditi-font-size-095);
	line-height: var(--aditi-line-height-body);
}
.contact-apps > h2 {
	margin: 0 0 var(--aditi-space-9);
	font-size: 1.48rem;
	letter-spacing: -.025em;
}
.contact-apps__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--aditi-space-18);
}
.contact-app-card {
	min-height: 186px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: var(--aditi-space-15) var(--aditi-space-10) var(--aditi-space-13);
	border: 1px solid var(--aditi-border-medium-3);
	border-radius: var(--aditi-radius-xl);
	background: var(--aditi-surface-glass-84);
	box-shadow: 0 2px 8px rgb(var(--aditi-shadow-rgb) / .025);
	text-align: center;
}
.contact-app-card__icon {
	width: 80px;
	height: 80px;
	display: grid;
	place-items: center;
	margin-bottom: var(--aditi-space-10);
	border: 1px solid var(--aditi-brand-orange-border-soft);
	border-radius: var(--aditi-radius-round);
	background: var(--aditi-brand-orange-soft-7);
	color: var(--aditi-brand-orange-vivid);
}
.contact-app-card__icon .aditi-icon {
	width: 48px;
	height: 48px;
	stroke-width: 1.7;
}
.contact-app-card h3 {
	margin: 0;
	color: var(--aditi-navy);
	font-size: var(--aditi-font-size-body);
}
.contact-app-card p {
	margin: var(--aditi-space-4) 0 0;
	color: var(--aditi-text-secondary);
	font-size: .79rem;
}
.contact-content {
	width: min(1312px, calc(100% - 64px));
	display: grid;
	grid-template-columns: 1.46fr 1fr;
	gap: var(--aditi-space-20);
	margin: 0 auto;
	padding: var(--aditi-space-14) 0 var(--aditi-space-20);
}
.contact-panel {
	min-width: 0;
	padding: var(--aditi-space-18) var(--aditi-space-40) var(--aditi-space-17);
	border: 1px solid var(--aditi-border-subtle-2);
	border-radius: var(--aditi-radius-xl);
	background: var(--aditi-surface-primary);
	box-shadow: 0 2px 10px rgb(var(--aditi-shadow-rgb) / .025);
}
.contact-panel > h2 {
	position: relative;
	margin: 0 0 var(--aditi-space-12);
	padding-bottom: var(--aditi-space-11);
	border-bottom: 1px solid var(--aditi-border-contact);
	color: var(--aditi-navy);
	font-size: 1.42rem;
	letter-spacing: -.025em;
}
.contact-notice {
	margin: 0 0 var(--aditi-space-10);
	padding: var(--aditi-space-8) var(--aditi-space-11);
	border-radius: var(--aditi-radius-sm);
	font-size: var(--aditi-font-size-075);
}
.contact-notice--success { background: var(--aditi-success-surface); color: var(--aditi-success); }
.contact-notice--error { background: var(--aditi-danger-surface); color: var(--aditi-danger-strong); }
.contact-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--aditi-space-9) var(--aditi-space-18);
}
.contact-form > br,
.contact-form > p:empty,
.contact-panel > br,
.contact-panel > p:empty {
	display: none !important;
}
.contact-form > input[type="hidden"] {
	display: none !important;
}
.contact-form > .contact-field,
.contact-form > .contact-submit {
	max-width: none !important;
	margin: 0 !important;
}
.contact-field {
	position: relative;
	min-width: 0;
	height: 45px;
	display: flex;
	align-items: center;
	border: 1px solid #d4dae3;
	border-radius: var(--aditi-radius-control);
	background: var(--aditi-surface-primary);
}
.contact-field:focus-within {
	border-color: var(--aditi-brand-orange-vivid);
	box-shadow: 0 0 0 3px var(--aditi-brand-orange-alpha-12);
}
.contact-field > .aditi-icon,
.contact-field__pencil {
	position: absolute;
	top: 50%;
	left: 15px;
	width: 21px;
	height: 21px;
	transform: translateY(-50%);
	color: var(--aditi-brand-orange-vivid);
	font-size: 23px;
	line-height: 1;
}
.contact-field input,
.contact-field select,
.contact-field textarea {
	width: 100%;
	height: 100%;
	padding: 0 var(--aditi-space-14) 0 53px;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--aditi-text-primary);
	font: inherit;
	font-size: .8rem;
}
.contact-field select {
	padding-right: var(--aditi-space-40);
	cursor: pointer;
}
.contact-field--wide { grid-column: 1 / -1; }
.contact-field--message { height: 83px; align-items: flex-start; }
.contact-field--message .contact-field__pencil { top: 15px; transform: none; }
.contact-field__pencil .aditi-icon { width: 21px; height: 21px; }
.contact-field textarea {
	padding-top: var(--aditi-space-13);
	resize: vertical;
}
.contact-submit {
	min-width: 200px;
	min-height: 43px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--aditi-space-14);
	justify-self: start;
	padding: 0 var(--aditi-space-20);
	border: 0;
	border-radius: var(--aditi-radius-control);
	background: linear-gradient(90deg, var(--aditi-brand-orange-bright), var(--aditi-brand-orange-hover));
	color: var(--aditi-text-inverse);
	font: inherit;
	font-size: .85rem;
	font-weight: var(--aditi-font-weight-extrabold);
	cursor: pointer;
}
.contact-submit:hover { background: var(--aditi-brand-orange-deep); }
.contact-submit .aditi-icon { width: 19px; height: 19px; }
.contact-information { padding-right: 38px; padding-left: var(--aditi-space-48); }
.contact-info-row {
	min-height: 71px;
	display: grid;
	grid-template-columns: 59px minmax(0, 1fr);
	align-items: center;
	gap: var(--aditi-space-14);
	border-bottom: 1px solid var(--aditi-border-contact);
}
.contact-info-row > p {
	display: contents;
}
.contact-info-row > div {
	min-width: 0;
	width: 100%;
}
.contact-info-row:last-child { border-bottom: 0; }
.contact-info-row__icon {
	width: 58px;
	height: 58px;
	display: grid;
	place-items: center;
	border: 1px solid var(--aditi-brand-orange-border-soft);
	border-radius: var(--aditi-radius-round);
	background: var(--aditi-brand-orange-soft-7);
	color: var(--aditi-brand-orange-vivid);
}
.contact-info-row__icon .aditi-icon { width: 30px; height: 30px; stroke-width: 1.9; }
.contact-info-row h3 {
	margin: 0 0 1px;
	color: var(--aditi-brand-orange-cta);
	font-size: .86rem;
}
.contact-info-row p,
.contact-info-row address {
	margin: 0;
	color: var(--aditi-text-heading);
	font-size: var(--aditi-font-size-078);
	font-style: normal;
	line-height: 1.45;
}
.contact-info-row a { color: inherit; text-decoration: none; }
.contact-info-row a:hover { color: var(--aditi-brand-orange-cta); }

@media (min-width: 961px) {
	.contact-info-row p { white-space: nowrap; }
}

@media (max-width: 1180px) {
	.contact-hero__inner { grid-template-columns: minmax(300px, .65fr) minmax(560px, 1.35fr); gap: var(--aditi-space-30); }
	.contact-apps__grid { gap: var(--aditi-space-10); }
	.contact-app-card { min-height: 174px; }
	.contact-panel { padding-right: var(--aditi-space-25); padding-left: var(--aditi-space-25); }
}
@media (max-width: 960px) {
	.contact-hero__inner { grid-template-columns: 1fr; }
	.contact-hero__copy { max-width: 560px; }
	.contact-apps__grid { grid-template-columns: repeat(4, minmax(145px, 1fr)); overflow-x: auto; padding-bottom: var(--aditi-space-4); }
	.contact-content { grid-template-columns: 1fr; }
	.contact-information { padding-right: var(--aditi-space-32); padding-left: var(--aditi-space-32); }
}
@media (max-width: 700px) {
	.contact-hero__inner,
	.contact-content { width: calc(100% - 32px); }
	.contact-hero__inner { padding-top: 42px; }
	.contact-hero__dots { width: 28px; opacity: .55; }
	.contact-apps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
	.contact-app-card { min-height: 165px; }
	.contact-content { padding-top: var(--aditi-space-18); }
	.contact-form { grid-template-columns: 1fr; }
	.contact-field--wide { grid-column: auto; }
}
@media (max-width: 480px) {
	.contact-hero__copy h1 { font-size: 2.15rem; }
	.contact-apps > h2 { font-size: 1.3rem; }
	.contact-app-card { min-height: 145px; }
	.contact-app-card__icon { width: 65px; height: 65px; }
	.contact-app-card__icon .aditi-icon { width: 38px; height: 38px; }
	.contact-panel { padding: var(--aditi-space-18); }
	.contact-panel > h2 { font-size: var(--aditi-font-size-title); }
	.contact-submit { width: 100%; }
	.contact-information { padding: var(--aditi-space-18); }
	.contact-info-row { grid-template-columns: 51px minmax(0, 1fr); gap: var(--aditi-space-11); }
	.contact-info-row__icon { width: 50px; height: 50px; }
}
