.dp-contact {
	background: var(--dp-color-canvas);
}

.dp-contact-breadcrumb {
	padding-block: var(--dp-space-4);
	background: #fff;
	border-block-end: 1px solid var(--dp-color-border);
}

.dp-contact-breadcrumb__inner {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	align-items: center;
	color: var(--dp-color-muted);
	font-size: var(--dp-text-sm);
}

.dp-contact-breadcrumb a {
	color: var(--dp-color-muted);
	text-decoration: none;
}

.dp-contact-breadcrumb a:hover {
	color: var(--dp-color-brand);
}

.dp-contact-hero {
	padding-block: var(--dp-space-8);
	background: #fff;
}

.dp-contact-hero__panel {
	position: relative;
	overflow: hidden;
	padding: clamp(1.75rem, 5vw, 4rem);
	border: 1px solid rgb(91 41 75 / .12);
	border-radius: var(--dp-radius-xl);
	background:
		radial-gradient(circle at 12% 18%, rgb(28 106 102 / .13), transparent 15rem),
		radial-gradient(circle at 88% 80%, rgb(178 82 106 / .15), transparent 17rem),
		linear-gradient(140deg, #fff, var(--dp-color-canvas));
	box-shadow: var(--dp-shadow-sm);
}

.dp-contact-hero__copy {
	position: relative;
	z-index: 1;
	max-width: 52rem;
}

.dp-contact-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	padding-inline: .75rem;
	border-radius: var(--dp-radius-pill);
	background: var(--dp-color-beauty-soft);
	color: var(--dp-color-brand);
	font-size: var(--dp-text-xs);
	font-weight: 850;
}

.dp-contact-hero h1 {
	margin: var(--dp-space-3) 0 0;
	color: var(--dp-color-brand);
	font-size: clamp(2rem, 1.45rem + 2vw, 3.5rem);
	line-height: 1.45;
}

.dp-contact-hero p {
	max-width: 48rem;
	margin: var(--dp-space-4) 0 0;
	color: var(--dp-color-muted);
	font-size: var(--dp-text-lg);
	line-height: 2;
}

.dp-contact-quick {
	padding-block: var(--dp-space-7);
	background: #fff;
}

.dp-contact-quick-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--dp-space-3);
}

.dp-contact-quick-card {
	display: flex;
	gap: var(--dp-space-4);
	align-items: center;
	min-height: 8.5rem;
	padding: var(--dp-space-5);
	border: 1px solid var(--dp-color-border);
	border-radius: var(--dp-radius-xl);
	background: #fff;
	box-shadow: var(--dp-shadow-sm);
	text-decoration: none;
}

.dp-contact-quick-card:hover {
	border-color: rgb(91 41 75 / .28);
	box-shadow: var(--dp-shadow-md);
}

.dp-contact-quick-card__icon {
	display: grid;
	flex: 0 0 3rem;
	width: 3rem;
	height: 3rem;
	place-items: center;
	border-radius: 50%;
	background: var(--dp-color-accent-soft);
	color: var(--dp-color-brand);
	font-weight: 900;
}

.dp-contact-quick-card__copy {
	display: grid;
	gap: .2rem;
	min-width: 0;
}

.dp-contact-quick-card__copy span {
	color: var(--dp-color-muted);
	font-size: var(--dp-text-xs);
}

.dp-contact-quick-card__copy strong {
	color: var(--dp-color-brand);
	font-size: var(--dp-text-lg);
	overflow-wrap: anywhere;
}

.dp-contact-section {
	padding-block: var(--dp-space-10);
}

.dp-contact-section--surface {
	background: #fff;
}

.dp-contact-section__head {
	max-width: 52rem;
	margin-block-end: var(--dp-space-6);
}

.dp-contact-section__head h2 {
	margin: var(--dp-space-2) 0 0;
	color: var(--dp-color-brand);
	font-size: clamp(1.55rem, 1.25rem + .9vw, 2.25rem);
}

.dp-contact-section__head p {
	margin: var(--dp-space-3) 0 0;
	color: var(--dp-color-muted);
	line-height: 2;
}

.dp-contact-main-grid {
	display: grid;
	gap: var(--dp-space-5);
	align-items: start;
}

.dp-contact-form,
.dp-contact-help {
	padding: clamp(1.4rem, 3vw, 2.25rem);
	border: 1px solid var(--dp-color-border);
	border-radius: var(--dp-radius-xl);
	background: #fff;
	box-shadow: var(--dp-shadow-sm);
}

.dp-contact-form h2,
.dp-contact-help h2 {
	margin: 0;
	color: var(--dp-color-brand);
	font-size: var(--dp-text-xl);
}

.dp-contact-form > p,
.dp-contact-help > p {
	margin: var(--dp-space-3) 0 0;
	color: var(--dp-color-muted);
	line-height: 1.95;
}

.dp-contact-fields {
	display: grid;
	gap: var(--dp-space-3);
	margin-block-start: var(--dp-space-5);
}

.dp-contact-fields label {
	display: grid;
	gap: .45rem;
	color: var(--dp-color-ink);
	font-size: var(--dp-text-sm);
	font-weight: 750;
}

.dp-contact-fields input,
.dp-contact-fields select,
.dp-contact-fields textarea {
	width: 100%;
	min-height: 3rem;
	padding: .75rem .9rem;
	border: 1px solid var(--dp-color-border-strong);
	border-radius: var(--dp-radius-md);
	background: #fff;
	color: var(--dp-color-ink);
	font: inherit;
}

.dp-contact-fields textarea {
	min-height: 9rem;
	resize: vertical;
}

.dp-contact-fields input:focus,
.dp-contact-fields select:focus,
.dp-contact-fields textarea:focus {
	border-color: var(--dp-color-brand);
	outline: 3px solid rgb(91 41 75 / .1);
}

.dp-contact-help-list {
	display: grid;
	gap: var(--dp-space-3);
	margin-block-start: var(--dp-space-5);
}

.dp-contact-help-item {
	position: relative;
	padding: var(--dp-space-4);
	padding-inline-start: 3.1rem;
	border: 1px solid var(--dp-color-border);
	border-radius: var(--dp-radius-lg);
	background: var(--dp-color-canvas);
}

.dp-contact-help-item::before {
	content: "✓";
	position: absolute;
	inset-block-start: var(--dp-space-4);
	inset-inline-start: var(--dp-space-4);
	display: grid;
	width: 1.7rem;
	height: 1.7rem;
	place-items: center;
	border-radius: 50%;
	background: var(--dp-color-home-soft);
	color: var(--dp-color-secondary);
	font-weight: 900;
}

.dp-contact-help-item strong {
	display: block;
	margin-block-end: .25rem;
	color: var(--dp-color-ink);
	font-size: var(--dp-text-sm);
}

.dp-contact-help-item span {
	color: var(--dp-color-muted);
	font-size: var(--dp-text-xs);
	line-height: 1.8;
}

.dp-contact-installment {
	padding-block: var(--dp-space-10);
	background:
		radial-gradient(circle at 10% 20%, rgb(215 164 74 / .1), transparent 17rem),
		linear-gradient(180deg, #fff, var(--dp-color-gold-soft));
	border-block: 1px solid rgb(215 164 74 / .15);
}

.dp-contact-installment-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--dp-space-3);
}

.dp-contact-pay-card {
	position: relative;
	overflow: hidden;
	min-height: 10.5rem;
	padding: var(--dp-space-5);
	border: 1px solid var(--dp-color-border);
	border-radius: var(--dp-radius-xl);
	background: #fff;
	box-shadow: var(--dp-shadow-sm);
}

.dp-contact-pay-card::after {
	content: "";
	position: absolute;
	width: 5.5rem;
	height: 5.5rem;
	inset-block-end: -2.5rem;
	inset-inline-start: -1.5rem;
	border-radius: 55% 45% 63% 37%;
	background: rgb(91 41 75 / .06);
	transform: rotate(18deg);
}

.dp-contact-pay-card__mark {
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	padding-inline: .75rem;
	border-radius: var(--dp-radius-pill);
	background: var(--dp-color-beauty-soft);
	color: var(--dp-color-brand);
	font-size: var(--dp-text-xs);
	font-weight: 900;
}

.dp-contact-pay-card:nth-child(2n) .dp-contact-pay-card__mark {
	background: var(--dp-color-home-soft);
	color: var(--dp-color-secondary-hover);
}

.dp-contact-pay-card h3 {
	position: relative;
	z-index: 1;
	margin: var(--dp-space-3) 0 var(--dp-space-2);
	color: var(--dp-color-ink);
	font-size: var(--dp-text-lg);
}

.dp-contact-pay-card p {
	position: relative;
	z-index: 1;
	margin: 0;
	color: var(--dp-color-muted);
	font-size: var(--dp-text-sm);
	line-height: 1.9;
}

.dp-contact-installment-note {
	margin-block-start: var(--dp-space-5);
	padding: var(--dp-space-4);
	border: 1px solid rgb(215 164 74 / .28);
	border-radius: var(--dp-radius-lg);
	background: #fff;
	color: var(--dp-color-muted);
	font-size: var(--dp-text-sm);
	line-height: 1.9;
}

.dp-contact-steps {
	display: grid;
	gap: var(--dp-space-4);
}

.dp-contact-step {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	gap: var(--dp-space-3);
	align-items: start;
	padding: var(--dp-space-5);
	border: 1px solid var(--dp-color-border);
	border-radius: var(--dp-radius-xl);
	background: #fff;
	box-shadow: var(--dp-shadow-sm);
}

.dp-contact-step__num {
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	place-items: center;
	border-radius: 50%;
	background: var(--dp-color-brand);
	color: #fff;
	font-size: var(--dp-text-xs);
	font-weight: 900;
}

.dp-contact-step h3 {
	margin: 0 0 .3rem;
	color: var(--dp-color-ink);
	font-size: var(--dp-text-base);
}

.dp-contact-step p {
	margin: 0;
	color: var(--dp-color-muted);
	font-size: var(--dp-text-sm);
	line-height: 1.9;
}

.dp-contact-faq {
	display: grid;
	gap: var(--dp-space-3);
}

.dp-contact-faq details {
	overflow: hidden;
	border: 1px solid var(--dp-color-border);
	border-radius: var(--dp-radius-lg);
	background: #fff;
	box-shadow: var(--dp-shadow-sm);
}

.dp-contact-faq summary {
	padding: var(--dp-space-4) var(--dp-space-5);
	color: var(--dp-color-ink);
	font-weight: 800;
	cursor: pointer;
}

.dp-contact-faq details p {
	margin: 0;
	padding: 0 var(--dp-space-5) var(--dp-space-5);
	color: var(--dp-color-muted);
	line-height: 1.95;
}

.dp-contact-cta {
	display: grid;
	gap: var(--dp-space-4);
	align-items: center;
	padding: clamp(1.5rem, 4vw, 3rem);
	border-radius: var(--dp-radius-xl);
	background:
		radial-gradient(circle at 12% 50%, rgb(215 164 74 / .2), transparent 10rem),
		linear-gradient(135deg, var(--dp-color-brand), var(--dp-color-brand-hover));
	color: #fff;
	box-shadow: var(--dp-shadow-md);
}

.dp-contact-cta h2 {
	margin: 0;
	color: #fff;
	font-size: var(--dp-text-2xl);
}

.dp-contact-cta p {
	margin: var(--dp-space-2) 0 0;
	color: rgb(255 255 255 / .8);
	line-height: 1.9;
}

.dp-contact-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dp-space-3);
}

.dp-contact-cta .dp-button {
	background: #fff;
	color: var(--dp-color-brand);
}

.dp-contact-cta .dp-button:hover {
	background: var(--dp-color-accent-soft);
	color: var(--dp-color-brand);
}

.dp-contact-cta .dp-button--ghost {
	border: 1px solid rgb(255 255 255 / .35);
	background: transparent;
	color: #fff;
}

.dp-contact-cta .dp-button--ghost:hover {
	background: rgb(255 255 255 / .08);
	color: #fff;
}

@media (min-width: 42rem) {
	.dp-contact-quick-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dp-contact-installment-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dp-contact-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.dp-contact-main-grid {
		grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr);
	}

	.dp-contact-installment-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.dp-contact-cta {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}
