.dwoso-contact {
	--navy: var(--ast-global-color-2, #0f172a);
	--purple: var(--ast-global-color-0, #563973);
	--purple-hover: var(--ast-global-color-1, #65408b);
	--text: var(--ast-global-color-3, #888686);
	--mint: var(--ast-global-color-4, #b3eed3);
	--offwhite: var(--ast-global-color-5, #fffefe);
}

.dwoso-contact section {
	padding: 3.5rem 1.5rem;
}

.dwoso-contact .dwoso-container {
	max-width: 1200px;
	margin: 0 auto;
}

.dwoso-contact .dwoso-container--narrow {
	max-width: 750px;
}

.dwoso-contact .dwoso-full-bleed {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.dwoso-contact .dwoso-eyebrow {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.8rem;
	font-weight: 600;
	margin-bottom: 0.75rem;
	color: var(--mint);
}

.dwoso-contact-hero {
	background-color: var(--navy);
	color: var(--offwhite);
	text-align: center;
}

.dwoso-contact-hero h1 {
	color: var(--offwhite);
	font-size: clamp(2rem, 4vw, 2.8rem);
	margin: 0 0 0.75rem;
}

.dwoso-contact-hero p {
	color: #d7dbe4;
	margin: 0;
}

.dwoso-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 3rem;
}

.dwoso-contact-info-block {
	margin-bottom: 2rem;
}

.dwoso-contact-info-block .dwoso-eyebrow {
	color: var(--purple);
}

.dwoso-contact-info-block p {
	margin: 0 0 0.4rem;
	color: var(--navy);
	font-size: 1.05rem;
}

.dwoso-contact-info-block a {
	color: var(--navy);
	text-decoration: none;
}

.dwoso-contact-info-block a:hover {
	color: var(--purple);
	text-decoration: underline;
}

.dwoso-contact-form {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	background-color: #f7f4fb;
	padding: 2rem;
	border-radius: 12px;
}

.dwoso-contact-form label {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--navy);
}

.dwoso-contact-form input,
.dwoso-contact-form textarea {
	padding: 0.75rem 0.9rem;
	border: 1px solid #d8d2e3;
	border-radius: 6px;
	font-family: inherit;
	font-size: 0.98rem;
	color: var(--navy);
	background-color: #fff;
}

.dwoso-contact-form input:focus,
.dwoso-contact-form textarea:focus {
	outline: 2px solid var(--purple);
	outline-offset: 1px;
}

.dwoso-contact .dwoso-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.75rem;
	border-radius: 6px;
	font-weight: 600;
	text-decoration: none;
	border: none;
	cursor: pointer;
	font-size: 1rem;
	transition: background-color 0.2s ease;
}

.dwoso-contact .dwoso-btn-primary {
	background-color: var(--purple);
	color: #fff !important;
}

.dwoso-contact .dwoso-btn-primary:hover {
	background-color: var(--purple-hover);
}

.dwoso-form-feedback {
	padding: 0.85rem 1rem;
	border-radius: 6px;
	font-size: 0.92rem;
	font-weight: 600;
}

.dwoso-form-feedback--success {
	background-color: var(--mint);
	color: var(--navy);
}

.dwoso-form-feedback--error {
	background-color: #fbe4e1;
	color: #9c2c1f;
}

@media (max-width: 800px) {
	.dwoso-contact-grid {
		grid-template-columns: 1fr;
	}
}
