.dgr-home-template {
	background: var(--dgr-white);
}

.dgr-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(80px, 10vw, 138px) 0 clamp(64px, 8vw, 104px);
	background:
		linear-gradient(135deg, rgba(247, 246, 243, 0.98), rgba(255, 255, 255, 0.94) 42%, rgba(230, 225, 234, 0.58)),
		var(--dgr-off-white);
}

.dgr-hero::after {
	content: "";
	position: absolute;
	right: max(-10vw, -120px);
	bottom: -180px;
	width: min(48vw, 620px);
	height: min(48vw, 620px);
	border: 1px solid rgba(107, 42, 131, 0.12);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(20, 142, 152, 0.13), rgba(255, 255, 255, 0) 64%);
	pointer-events: none;
}

.dgr-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
	gap: clamp(34px, 7vw, 82px);
	align-items: center;
}

.dgr-hero__content {
	max-width: 780px;
}

.dgr-hero h1 {
	margin: 18px 0 0;
	max-width: 860px;
	font-size: clamp(3rem, 7vw, 6.8rem);
}

.dgr-hero__lead {
	max-width: 700px;
	margin: 22px 0 0;
	color: var(--dgr-muted);
	font-size: clamp(1.12rem, 1.7vw, 1.38rem);
	line-height: 1.65;
}

.dgr-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
}

.dgr-hero__panel {
	padding: 30px;
	border: 1px solid rgba(107, 42, 131, 0.12);
	border-radius: var(--dgr-radius-lg);
	background: rgba(255, 255, 255, 0.82);
	box-shadow: var(--dgr-shadow);
	backdrop-filter: blur(12px);
}

.dgr-hero__panel-title {
	margin: 0;
	color: var(--dgr-purple-dark);
	font-family: var(--dgr-heading-font);
	font-size: 1.6rem;
	font-weight: 700;
}

.dgr-hero__signals {
	display: grid;
	gap: 14px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.dgr-hero__signals li {
	padding: 14px 0;
	border-top: 1px solid var(--dgr-border);
	color: var(--dgr-muted);
	line-height: 1.45;
}

.dgr-problem__grid,
.dgr-growth-diagnostic,
.dgr-method__grid,
.dgr-offers__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 5vw, 64px);
	align-items: start;
}

.dgr-problem__questions {
	position: sticky;
	top: 96px;
}

.dgr-diagnostic-card {
	padding: clamp(28px, 4vw, 46px);
	border-color: rgba(107, 42, 131, 0.18);
	background:
		linear-gradient(180deg, rgba(247, 246, 243, 0.62), rgba(255, 255, 255, 0.98)),
		var(--dgr-white);
}

.dgr-diagnostic-card h2 {
	margin: 0;
	font-size: clamp(2.5rem, 5vw, 5rem);
}

.dgr-diagnostic-card p {
	margin: 18px 0 0;
	color: var(--dgr-muted);
	font-size: 1.12rem;
	line-height: 1.7;
}

.dgr-deliverables {
	padding: clamp(26px, 3vw, 36px);
}

.dgr-deliverables h3,
.dgr-method-card h3,
.dgr-offer-card h3 {
	margin: 0;
	font-size: 1.55rem;
}

.dgr-method__steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	counter-reset: dgr-step;
}

.dgr-method-card {
	position: relative;
	padding: 24px;
	counter-increment: dgr-step;
}

.dgr-method-card::before {
	content: counter(dgr-step, decimal-leading-zero);
	display: block;
	margin-bottom: 18px;
	color: var(--dgr-teal);
	font-family: var(--dgr-heading-font);
	font-size: 1.22rem;
	font-weight: 800;
}

.dgr-offers__grid {
	margin-top: 34px;
}

.dgr-offer-card {
	padding: clamp(26px, 3vw, 34px);
}

.dgr-offer-card p {
	margin: 16px 0 0;
	color: var(--dgr-muted);
	line-height: 1.7;
}

.dgr-offer-card .dgr-button {
	margin-top: 24px;
}

.dgr-home-editor-content {
	padding: 48px 0;
}

@media (max-width: 980px) {
	.dgr-hero__inner,
	.dgr-problem__grid,
	.dgr-growth-diagnostic,
	.dgr-method__grid,
	.dgr-offers__grid {
		grid-template-columns: 1fr;
	}

	.dgr-hero__panel {
		max-width: 560px;
	}

	.dgr-problem__questions {
		position: static;
	}
}

@media (max-width: 640px) {
	.dgr-hero {
		padding-top: 64px;
	}

	.dgr-hero h1 {
		font-size: clamp(2.75rem, 15vw, 4.2rem);
	}

	.dgr-hero__panel,
	.dgr-diagnostic-card,
	.dgr-deliverables,
	.dgr-method-card,
	.dgr-offer-card {
		padding: 22px;
	}

	.dgr-method__steps {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.dgr-container {
		width: min(100% - 40px, var(--dgr-container));
	}

	.dgr-section {
		padding: 48px 0;
	}

	.dgr-section__eyebrow {
		margin-bottom: 10px;
	}

	.dgr-section__lead {
		margin-top: 14px;
	}

	.dgr-hero {
		padding: 48px 0 44px;
	}

	.dgr-hero__inner,
	.dgr-problem__grid,
	.dgr-growth-diagnostic,
	.dgr-method__grid,
	.dgr-offers__grid {
		gap: 24px;
	}

	.dgr-hero h1 {
		margin-top: 12px;
	}

	.dgr-hero__lead {
		margin-top: 14px;
	}

	.dgr-hero__actions {
		gap: 12px;
		margin-top: 22px;
	}

	.dgr-hero__panel,
	.dgr-diagnostic-card,
	.dgr-deliverables,
	.dgr-method-card,
	.dgr-offer-card {
		padding: 20px;
	}

	.dgr-hero__signals,
	.dgr-list {
		gap: 10px;
		margin-top: 16px;
	}

	.dgr-hero__signals li {
		padding: 10px 0;
	}

	.dgr-diagnostic-card p,
	.dgr-offer-card p {
		margin-top: 14px;
	}

	.dgr-diagnostic-card .dgr-button,
	.dgr-offer-card .dgr-button,
	.dgr-cta .dgr-button {
		margin-top: 22px;
	}

	.dgr-method__steps,
	.dgr-brand-grid,
	.dgr-testimonials {
		gap: 18px;
		margin-top: 24px;
	}

	.dgr-method-card::before {
		margin-bottom: 12px;
	}

	.dgr-testimonial {
		gap: 12px;
	}

	.dgr-testimonial__role {
		margin-top: 2px;
	}

	.dgr-cta {
		padding: 32px 22px;
	}

	.dgr-cta p {
		margin-top: 14px;
	}

	.dgr-home-editor-content {
		padding: 40px 0;
	}

	body.home .ast-single-post-featured-section {
		margin-bottom: 0;
	}

	body.home .ast-single-post-featured-section + article {
		margin-top: 0;
	}

	body.home .elementor-6 > .e-con {
		--padding-top: 20px;
		--padding-bottom: 20px;
	}

	body.home .elementor-6 > .e-con > .e-con-inner {
		gap: 18px;
		padding-inline: 20px;
	}

	body.home .elementor-6 :where(h1, h2, h3, p) {
		margin-block-end: 0;
	}

	body.home .elementor-6 :where(.e-button-base, .elementor-button) {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: min(100%, 340px);
		min-height: 44px;
		margin-block: 0;
		padding: 12px 20px;
	}

	body.home .elementor-6 .elementor-element-b8f98b2 {
		--padding-top: 32px;
		--padding-bottom: 10px;
	}

	body.home .elementor-6 .elementor-element-aa8dacd {
		--padding-top: 10px;
		--padding-bottom: 12px;
	}

	body.home .elementor-6 .elementor-element-4e697b5 {
		--padding-top: 8px;
		--padding-bottom: 24px;
	}

	body.home .elementor-6 .elementor-element-8985192,
	body.home .elementor-6 .elementor-element-a448fb5,
	body.home .elementor-6 .elementor-element-804f35b {
		--min-height: 0;
		--padding-top: 0;
		--padding-bottom: 0;
		min-height: 0;
	}

	body.home .elementor-6 .elementor-element-8985192 > .e-con-inner,
	body.home .elementor-6 .elementor-element-a448fb5 > .e-con-inner,
	body.home .elementor-6 .elementor-element-804f35b > .e-con-inner {
		min-height: 0;
		padding-block: 0;
	}

	body.home .elementor-6 .elementor-element-9e87390 {
		--padding-top: 28px;
		--padding-bottom: 10px;
	}

	body.home .elementor-6 :where(.elementor-element-34b49bd, .elementor-element-c8bdc36, .elementor-element-90aafed) {
		--padding-top: 24px;
		--padding-bottom: 8px;
	}

	body.home .elementor-6 .elementor-element-34b49bd {
		--padding-top: 12px;
	}

	body.home .elementor-6 :where(.elementor-element-5e4613b, .elementor-element-da55c37, .elementor-element-d01689c) {
		--padding-top: 0;
		--padding-bottom: 12px;
	}

	body.home .elementor-6 :where(.elementor-element-3a2c318, .elementor-element-2c7dc01, .elementor-element-41c6606) {
		--padding-top: 8px;
		--padding-bottom: 24px;
	}

	body.home .elementor-6 .elementor-element-2139985 {
		--padding-top: 40px;
		--padding-bottom: 40px;
	}

	body.home .elementor-6 .elementor-element-2139985 > .e-con-inner,
	body.home .elementor-6 .elementor-element-e425134 > .e-con-inner {
		gap: 16px;
	}

	body.home .elementor-6 .elementor-element-e425134 {
		--padding-top: 44px;
		--padding-bottom: 22px;
	}

	body.home .elementor-6 :where(.elementor-element-1ed4025, .elementor-element-eacbda2) {
		--width: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: 0 !important;
	}

	body.home .elementor-6 :where(.elementor-element-1ed4025, .elementor-element-eacbda2) :where(h2, h3, .e-heading-base) {
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: 0 !important;
		font-size: 30px !important;
		font-weight: 600 !important;
		line-height: 1.3em !important;
		letter-spacing: 0 !important;
	}

	body.home .elementor-6 .elementor-element-eacbda2 :where(strong) {
		font: inherit !important;
		letter-spacing: inherit !important;
	}

	body.home .elementor-6 .elementor-element-36d9ee0 {
		--padding-top: 18px;
		--padding-bottom: 40px;
	}

	body.home .elementor-6 .elementor-element-36d9ee0 > .e-con-inner {
		gap: 18px;
	}

	body.home .elementor-6 .elementor-widget-testimonial {
		margin-bottom: 0;
	}

	body.home .elementor-6 .elementor-testimonial-wrapper {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	body.home .elementor-6 .elementor-testimonial-content {
		margin-bottom: 0;
	}

	body.home .elementor-6 .elementor-testimonial-meta {
		margin-top: 0;
	}

	body.home .elementor-6 .elementor-testimonial-meta-inner {
		gap: 10px;
	}

	body.home .elementor-6 .elementor-testimonial-image {
		margin-right: 10px;
	}

	body.home .elementor-6 .elementor-testimonial-name,
	body.home .elementor-6 .elementor-testimonial-job {
		margin-block: 0;
	}

	body.home .elementor-6 .elementor-element-8a17a46 {
		--padding-top: 16px;
		--padding-bottom: 18px;
	}

	body.home .elementor-6 .dgr-conforia-section {
		--padding-top: 34px;
		--padding-bottom: 10px;
	}

	body.home .elementor-6 .elementor-element-b62255e {
		--padding-top: 8px;
		--padding-bottom: 18px;
	}

	body.home .elementor-6 .elementor-element-0cc747f {
		--padding-top: 4px;
		--padding-bottom: 38px;
		--align-items: center !important;
		--container-widget-width: 100% !important;
		--margin-top: 0px !important;
		--margin-bottom: 0px !important;
		--margin-left: 0px !important;
		--margin-right: 0px !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	body.home .elementor-6 .elementor-element-0cc747f > .e-con-inner {
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 100%;
	}

	body.home .elementor-6 .elementor-element-0cc747f .e-button-base {
		display: inline-flex !important;
		width: auto !important;
		min-width: min(280px, 100%) !important;
		max-width: 320px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 20px;
		padding-left: 20px;
	}

	body.home .site-footer {
		margin-top: 0;
	}

	body.home .site-footer :where(.site-primary-footer-wrap, .site-below-footer-wrap, .ast-builder-grid-row-container-inner) {
		padding-top: 24px;
		padding-bottom: 20px;
	}

	body.home .site-footer :where(.widget, .footer-widget-area, p, ul) {
		margin-bottom: 14px;
	}
}
