/* Dot Print Elementor Widgets — scoped styles */
.dpw-section,
.dpw-section * {
	box-sizing: border-box;
}

.dpw-section {
	--dpw-accent: #f5c542;
	--dpw-accent-soft: #fff4c7;
	--dpw-dark: #111111;
	--dpw-text: #242424;
	--dpw-muted: #6f6f6f;
	--dpw-border: #ececec;
	--dpw-bg: #ffffff;
	--dpw-soft: #f8f8f8;
	font-family: inherit;
	color: var(--dpw-text);
	width: 100%;
}

.dpw-heading {
	max-width: 780px;
	margin: 0 auto 32px;
	text-align: center;
}

.dpw-heading h2,
.dpw-contact h2,
.dpw-modal h2 {
	margin: 0;
	color: var(--dpw-dark);
	font-size: clamp(28px, 4vw, 48px);
	line-height: 1.08;
	letter-spacing: -0.04em;
	font-weight: 800;
}

.dpw-heading p,
.dpw-contact p,
.dpw-modal p {
	margin: 14px 0 0;
	color: var(--dpw-muted);
	font-size: 16px;
	line-height: 1.65;
}

.dpw-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	margin: 0 0 12px;
	padding: 7px 12px;
	border: 1px solid rgba(17, 17, 17, 0.08);
	border-radius: 999px;
	background: var(--dpw-accent-soft);
	color: var(--dpw-dark);
	font-size: 13px;
	line-height: 1;
	font-weight: 700;
}

.dpw-heading .dpw-eyebrow {
	margin-left: auto;
	margin-right: auto;
}

.dpw-button,
.dpw-button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 13px 22px;
	border: 0;
	border-radius: 999px;
	box-shadow: none;
	font-family: inherit;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.dpw-button:hover,
.dpw-button:focus {
	transform: translateY(-1px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .12);
	text-decoration: none !important;
}

.dpw-button--primary {
	background: var(--dpw-accent);
	color: var(--dpw-dark) !important;
}

.dpw-button--dark {
	background: var(--dpw-dark);
	color: #ffffff !important;
}

.dpw-button--light {
	background: #ffffff;
	color: var(--dpw-dark) !important;
	border: 1px solid var(--dpw-border);
}

/* Services */
.dpw-services__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.dpw-service-card,
.dpw-service-card:visited {
	display: flex;
	flex-direction: column;
	min-height: 190px;
	padding: 24px;
	border: 1px solid var(--dpw-border);
	border-radius: 24px;
	background: var(--dpw-bg);
	color: var(--dpw-text) !important;
	text-decoration: none !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, .04);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.dpw-service-card:hover {
	transform: translateY(-4px);
	border-color: rgba(245, 197, 66, .75);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .08);
	background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
}

.dpw-service-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: 22px;
	border-radius: 16px;
	background: var(--dpw-accent-soft);
	color: var(--dpw-dark);
	font-size: 22px;
	font-weight: 900;
}

.dpw-service-card__title {
	display: block;
	margin-bottom: 8px;
	color: var(--dpw-dark);
	font-size: 18px;
	line-height: 1.2;
	font-weight: 800;
}

.dpw-service-card__text {
	display: block;
	color: var(--dpw-muted);
	font-size: 14px;
	line-height: 1.55;
}

/* FAQ */
.dpw-faq__list {
	max-width: 900px;
	margin: 0 auto;
	display: grid;
	gap: 12px;
}

.dpw-faq__item {
	border: 1px solid var(--dpw-border);
	border-radius: 20px;
	background: #ffffff;
	box-shadow: 0 14px 35px rgba(0, 0, 0, .035);
	overflow: hidden;
}

.dpw-faq__item summary {
	position: relative;
	list-style: none;
	padding: 20px 56px 20px 22px;
	color: var(--dpw-dark);
	font-size: 17px;
	font-weight: 800;
	cursor: pointer;
}

.dpw-faq__item summary::-webkit-details-marker {
	display: none;
}

.dpw-faq__item summary::after {
	content: '+';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 28px;
	height: 28px;
	transform: translateY(-50%);
	border-radius: 50%;
	background: var(--dpw-accent-soft);
	color: var(--dpw-dark);
	font-size: 20px;
	line-height: 28px;
	text-align: center;
	font-weight: 800;
}

.dpw-faq__item[open] summary::after {
	content: '–';
}

.dpw-faq__answer {
	padding: 0 22px 22px;
	color: var(--dpw-muted);
	font-size: 15px;
	line-height: 1.7;
}

.dpw-faq__answer p:last-child {
	margin-bottom: 0;
}

/* Contact */
.dpw-contact {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
	gap: 24px;
	align-items: stretch;
	padding: 34px;
	border: 1px solid var(--dpw-border);
	border-radius: 28px;
	background: linear-gradient(135deg, #ffffff 0%, #f7f7f7 100%);
	box-shadow: 0 22px 65px rgba(0, 0, 0, .06);
}

.dpw-contact__content {
	padding: 8px;
}

.dpw-contact__list {
	display: grid;
	gap: 10px;
	margin-top: 22px;
}

.dpw-contact__list a,
.dpw-contact__list span {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--dpw-dark) !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none !important;
}

.dpw-contact__messengers {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}

.dpw-chip,
.dpw-chip:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 14px;
	border: 1px solid var(--dpw-border);
	border-radius: 999px;
	background: #ffffff;
	color: var(--dpw-dark) !important;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none !important;
}

.dpw-contact__form,
.dpw-modal__form {
	padding: 22px;
	border: 1px solid var(--dpw-border);
	border-radius: 22px;
	background: #ffffff;
}

.dpw-contact__form input,
.dpw-contact__form textarea,
.dpw-contact__form select,
.dpw-modal__form input,
.dpw-modal__form textarea,
.dpw-modal__form select {
	width: 100%;
	min-height: 46px;
	border: 1px solid var(--dpw-border);
	border-radius: 14px;
	padding: 12px 14px;
	font-family: inherit;
	font-size: 15px;
}

.dpw-contact__form input[type="submit"],
.dpw-modal__form input[type="submit"] {
	border: 0;
	background: var(--dpw-accent);
	color: var(--dpw-dark);
	font-weight: 800;
	cursor: pointer;
}

/* Popup */
.dpw-popup-widget {
	--dpw-accent: #f5c542;
	--dpw-accent-soft: #fff4c7;
	--dpw-dark: #111111;
	--dpw-muted: #6f6f6f;
	--dpw-border: #ececec;
}

.dpw-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.dpw-modal.is-active {
	display: flex;
}

.dpw-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .58);
	backdrop-filter: blur(7px);
}

.dpw-modal__box {
	position: relative;
	z-index: 2;
	width: min(680px, 100%);
	max-height: calc(100vh - 40px);
	overflow: auto;
	padding: clamp(24px, 4vw, 38px);
	border-radius: 28px;
	background: #ffffff;
	box-shadow: 0 28px 90px rgba(0, 0, 0, .25);
}

.dpw-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 40px;
	height: 40px;
	border: 1px solid var(--dpw-border);
	border-radius: 50%;
	background: #ffffff;
	color: var(--dpw-dark);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.dpw-modal__contacts {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 20px 0;
}

.dpw-modal__contacts a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 9px 14px;
	border-radius: 999px;
	background: var(--dpw-accent-soft);
	color: var(--dpw-dark) !important;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none !important;
}

body.dpw-modal-open {
	overflow: hidden;
}

/* Pricing */
.dpw-pricing__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.dpw-price-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 26px;
	border: 1px solid var(--dpw-border);
	border-radius: 26px;
	background: #ffffff;
	box-shadow: 0 18px 45px rgba(0, 0, 0, .045);
}

.dpw-price-card.is-highlighted {
	border-color: rgba(245, 197, 66, .9);
	background: linear-gradient(180deg, #ffffff 0%, #fff7d8 100%);
	box-shadow: 0 24px 70px rgba(245, 197, 66, .2);
}

.dpw-price-card__label {
	width: fit-content;
	margin-bottom: 14px;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--dpw-accent-soft);
	color: var(--dpw-dark);
	font-size: 12px;
	font-weight: 900;
}

.dpw-price-card h3 {
	margin: 0;
	color: var(--dpw-dark);
	font-size: 24px;
	line-height: 1.15;
	font-weight: 850;
	letter-spacing: -0.03em;
}

.dpw-price-card__price {
	margin-top: 14px;
	color: var(--dpw-dark);
	font-size: 28px;
	line-height: 1;
	font-weight: 900;
}

.dpw-price-card p {
	margin: 14px 0 0;
	color: var(--dpw-muted);
	font-size: 15px;
	line-height: 1.6;
}

.dpw-price-card ul {
	display: grid;
	gap: 10px;
	margin: 20px 0 24px;
	padding: 0;
	list-style: none;
}

.dpw-price-card li {
	position: relative;
	padding-left: 25px;
	color: var(--dpw-text);
	font-size: 15px;
	line-height: 1.45;
}

.dpw-price-card li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0;
	color: var(--dpw-dark);
	font-weight: 900;
}

.dpw-price-card .dpw-button {
	margin-top: auto;
	width: 100%;
}

/* Calculator */
.dpw-calculator__box {
	border: 1px solid var(--dpw-border);
	border-radius: 26px;
	background: #ffffff;
	box-shadow: 0 18px 55px rgba(0, 0, 0, .05);
	overflow: hidden;
}

.dpw-calculator__box iframe {
	display: block;
	width: 100%;
	border: 0;
	background: #ffffff;
}

.dpw-calculator__empty {
	margin: 0;
	padding: 28px;
	color: var(--dpw-muted);
	font-size: 16px;
	line-height: 1.6;
	text-align: center;
}

@media (max-width: 1024px) {
	.dpw-services__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dpw-pricing__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.dpw-heading {
		margin-bottom: 22px;
		text-align: left;
	}

	.dpw-heading .dpw-eyebrow {
		margin-left: 0;
		margin-right: 0;
	}

	.dpw-services__grid,
	.dpw-pricing__grid,
	.dpw-contact {
		grid-template-columns: 1fr;
	}

	.dpw-service-card {
		min-height: unset;
		padding: 20px;
		border-radius: 20px;
	}

	.dpw-contact {
		padding: 22px;
		border-radius: 24px;
	}

	.dpw-contact__form,
	.dpw-modal__form {
		padding: 16px;
	}

	.dpw-modal {
		padding: 12px;
	}

	.dpw-modal__box {
		border-radius: 22px;
	}
}

/* Editable hero block — based on Dot Print service page visual */
.dpw-hero-editable {
	position: relative;
	isolation: isolate;
	width: 100%;
	padding: clamp(54px, 7vw, 112px) 20px;
	background:
		radial-gradient(circle at 78% 26%, color-mix(in srgb, var(--dpw-accent) 16%, transparent) 0, transparent 35%),
		linear-gradient(180deg, var(--dpw-hero-bg) 0%, #ffffff 100%);
	overflow: hidden;
}

.dpw-hero-editable--tall {
	min-height: clamp(520px, 48vw, 720px);
	display: flex;
	align-items: center;
}

.dpw-hero-editable__inner {
	width: 100%;
	max-width: 1220px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(340px, 1.05fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: center;
}

.dpw-hero-editable__content {
	max-width: 650px;
}

.dpw-hero-editable__badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin: 0 0 18px;
	padding: 9px 18px;
	border-radius: 999px;
	background: var(--dpw-accent-soft);
	color: var(--dpw-accent);
	font-size: 13px;
	line-height: 1;
	font-weight: 900;
	letter-spacing: .02em;
}

.dpw-hero-editable__title {
	margin: 0;
	color: var(--dpw-dark);
	font-size: clamp(44px, 5.6vw, 76px);
	line-height: .98;
	font-weight: 900;
	letter-spacing: -0.065em;
}

.dpw-hero-editable__title span {
	display: inline;
}

.dpw-hero-editable__accent {
	color: var(--dpw-accent);
}

.dpw-hero-editable__text {
	max-width: 560px;
	margin-top: 18px;
	color: var(--dpw-text);
	font-size: clamp(17px, 1.45vw, 21px);
	line-height: 1.58;
	font-weight: 500;
}

.dpw-hero-editable__price {
	display: flex;
	align-items: baseline;
	gap: 13px;
	margin-top: 38px;
	color: var(--dpw-dark);
	font-size: clamp(22px, 2vw, 29px);
	line-height: 1;
	font-weight: 500;
}

.dpw-hero-editable__price strong {
	color: var(--dpw-accent);
	font-size: clamp(40px, 4vw, 58px);
	font-weight: 900;
	letter-spacing: -0.045em;
}

.dpw-hero-editable__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 36px;
}

.dpw-hero-editable__button,
.dpw-hero-editable__button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	min-width: 204px;
	padding: 17px 26px;
	border-radius: 14px;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.15;
	text-decoration: none !important;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
	cursor: pointer;
}

.dpw-hero-editable__button:hover,
.dpw-hero-editable__button:focus {
	transform: translateY(-2px);
	box-shadow: 0 18px 42px color-mix(in srgb, var(--dpw-accent) 22%, transparent);
	text-decoration: none !important;
}

.dpw-hero-editable__button--primary {
	border: 2px solid var(--dpw-accent);
	background: var(--dpw-accent);
	color: #ffffff !important;
}

.dpw-hero-editable__button--secondary {
	border: 2px solid var(--dpw-accent);
	background: transparent;
	color: var(--dpw-accent) !important;
}

.dpw-hero-editable__button--secondary:hover,
.dpw-hero-editable__button--secondary:focus {
	background: var(--dpw-accent);
	color: #ffffff !important;
}

.dpw-hero-editable__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 360px;
}

.dpw-hero-editable__blob {
	position: absolute;
	inset: 11% 4% 8% 5%;
	border-radius: 42px;
	background:
		linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,255,255,.34)),
		color-mix(in srgb, var(--dpw-accent-soft) 70%, #ffffff);
	filter: blur(.2px);
	transform: rotate(-4deg);
	box-shadow: 0 45px 110px color-mix(in srgb, var(--dpw-accent) 18%, transparent);
	z-index: -1;
}

.dpw-hero-editable__media::before,
.dpw-hero-editable__media::after {
	content: '';
	position: absolute;
	border-radius: 32px;
	background: rgba(255, 255, 255, .86);
	box-shadow: 0 28px 70px rgba(17, 24, 39, .10);
	z-index: -1;
}

.dpw-hero-editable__media::before {
	width: 58%;
	height: 62%;
	left: 2%;
	bottom: 8%;
	transform: rotate(-12deg);
}

.dpw-hero-editable__media::after {
	width: 54%;
	height: 56%;
	right: 7%;
	top: 11%;
	transform: rotate(8deg);
}

.dpw-hero-editable__media img {
	display: block;
	width: min(100%, 620px);
	height: auto;
	max-height: 430px;
	object-fit: contain;
	border-radius: 26px;
	filter: drop-shadow(0 28px 42px rgba(17, 24, 39, .18));
}

/* Editable image cards — popular variants with easy text/image editing */
.dpw-image-cards {
	width: 100%;
	padding: 42px 0 10px;
}

.dpw-image-cards__head {
	margin: 0 0 28px;
}

.dpw-image-cards__head h2 {
	margin: 0;
	color: var(--dpw-dark);
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.1;
	font-weight: 900;
	letter-spacing: -0.04em;
}

.dpw-image-cards__head p {
	max-width: 760px;
	margin: 10px 0 0;
	color: var(--dpw-text);
	font-size: 16px;
	line-height: 1.6;
}

.dpw-image-cards__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.dpw-image-card,
.dpw-image-card:visited {
	display: flex;
	flex-direction: column;
	min-width: 0;
	border: 1px solid rgba(17, 24, 39, .08);
	border-top: 4px solid var(--dpw-accent);
	border-radius: 18px;
	background: #ffffff;
	color: var(--dpw-text) !important;
	text-decoration: none !important;
	overflow: hidden;
	box-shadow: 0 18px 48px rgba(17, 24, 39, .07);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.dpw-image-card:hover,
.dpw-image-card:focus {
	transform: translateY(-4px);
	box-shadow: 0 28px 70px rgba(17, 24, 39, .12);
	text-decoration: none !important;
}

.dpw-image-card__top {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 18px 22px;
	background: linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%);
	border-bottom: 1px solid rgba(17, 24, 39, .08);
}

.dpw-image-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--dpw-accent);
	color: #ffffff;
	font-size: 20px;
	font-weight: 900;
	box-shadow: 0 12px 24px color-mix(in srgb, var(--dpw-accent) 28%, transparent);
}

.dpw-image-card__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.dpw-image-card__titles h3 {
	margin: 0;
	color: var(--dpw-dark);
	font-size: 18px;
	line-height: 1.15;
	font-weight: 900;
	letter-spacing: -0.02em;
}

.dpw-image-card__titles p {
	margin: 4px 0 0;
	color: var(--dpw-text);
	font-size: 13px;
	line-height: 1.35;
	font-weight: 500;
}

.dpw-image-card__media {
	position: relative;
	background: var(--dpw-accent-soft);
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.dpw-image-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.dpw-image-card:hover .dpw-image-card__media img {
	transform: scale(1.035);
}

.dpw-image-card__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 18px 22px 22px;
}

.dpw-image-card__body p {
	margin: 0;
	color: var(--dpw-text);
	font-size: 14px;
	line-height: 1.55;
}

.dpw-image-card__button,
.dpw-image-card__button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 42px;
	padding: 12px 18px;
	border: 2px solid var(--dpw-accent);
	border-radius: 12px;
	background: var(--dpw-accent);
	color: #ffffff !important;
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
	text-decoration: none !important;
	transition: transform .2s ease, box-shadow .2s ease;
}

.dpw-image-card__button:hover,
.dpw-image-card__button:focus {
	transform: translateY(-1px);
	box-shadow: 0 14px 30px color-mix(in srgb, var(--dpw-accent) 26%, transparent);
	text-decoration: none !important;
}

@media (max-width: 1180px) {
	.dpw-image-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.dpw-hero-editable__inner {
		grid-template-columns: 1fr;
	}

	.dpw-hero-editable__content {
		max-width: 760px;
	}

	.dpw-hero-editable__media {
		min-height: 310px;
	}
}

@media (max-width: 767px) {
	.dpw-hero-editable {
		padding: 42px 18px 52px;
	}

	.dpw-hero-editable--tall {
		min-height: unset;
	}

	.dpw-hero-editable__title {
		font-size: clamp(38px, 11vw, 52px);
		letter-spacing: -0.055em;
	}

	.dpw-hero-editable__text {
		font-size: 16px;
	}

	.dpw-hero-editable__price {
		margin-top: 28px;
	}

	.dpw-hero-editable__actions {
		width: 100%;
		margin-top: 26px;
	}

	.dpw-hero-editable__button {
		width: 100%;
		min-width: 0;
	}

	.dpw-hero-editable__media {
		min-height: 240px;
	}

	.dpw-image-cards {
		padding-top: 28px;
	}

	.dpw-image-cards__grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.dpw-image-card__top {
		padding: 16px;
	}

	.dpw-image-card__body {
		padding: 16px;
	}
}

/* Quick quote form — Telegram request widget */
.dpw-quick-quote {
	--dpw-accent: #5BBFE6;
	--dpw-accent-soft: #F1FAFF;
	--dpw-form-bg: #ffffff;
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(24px, 5vw, 64px);
	align-items: center;
	padding: clamp(28px, 5vw, 56px);
	border: 1px solid color-mix(in srgb, var(--dpw-accent) 18%, #ffffff);
	border-radius: 34px;
	background:
		radial-gradient(circle at 16% 10%, color-mix(in srgb, var(--dpw-accent) 12%, transparent) 0, transparent 35%),
		linear-gradient(135deg, var(--dpw-form-bg) 0%, var(--dpw-accent-soft) 100%);
	box-shadow: 0 24px 70px rgba(17, 24, 39, .06);
	overflow: hidden;
}

.dpw-quick-quote__content h2 {
	margin: 0;
	color: #111827;
	font-size: clamp(30px, 4.4vw, 58px);
	font-weight: 900;
	line-height: .98;
	letter-spacing: -0.055em;
}

.dpw-quick-quote__content p {
	max-width: 560px;
	margin: 18px 0 0;
	color: #4b5563;
	font-size: 17px;
	line-height: 1.7;
}

.dpw-quick-quote__source {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
	margin-top: 28px;
	padding: 10px 14px;
	border: 1px solid color-mix(in srgb, var(--dpw-accent) 28%, #ffffff);
	border-radius: 999px;
	background: rgba(255, 255, 255, .75);
	box-shadow: 0 14px 35px rgba(17, 24, 39, .05);
	color: #6b7280;
	font-size: 14px;
	line-height: 1.2;
}

.dpw-quick-quote__source strong {
	color: #111827;
	font-weight: 900;
}

.dpw-quick-quote__form {
	position: relative;
	padding: clamp(18px, 3vw, 30px);
	border: 1px solid rgba(17, 24, 39, .08);
	border-radius: 28px;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 20px 55px rgba(17, 24, 39, .08);
	backdrop-filter: blur(10px);
}

.dpw-quick-quote__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.dpw-quick-quote__field {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 0;
	color: #111827;
	font-size: 14px;
	font-weight: 800;
}

.dpw-quick-quote__field--full {
	margin-top: 14px;
}

.dpw-quick-quote__field input,
.dpw-quick-quote__field select,
.dpw-quick-quote__field textarea {
	width: 100%;
	min-height: 48px;
	padding: 13px 14px;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	outline: none;
	background: #f9fafb;
	color: #111827;
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.dpw-quick-quote__field textarea {
	resize: vertical;
	min-height: 110px;
}

.dpw-quick-quote__field input:focus,
.dpw-quick-quote__field select:focus,
.dpw-quick-quote__field textarea:focus {
	border-color: var(--dpw-accent);
	background: #ffffff;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--dpw-accent) 18%, transparent);
}

.dpw-quick-quote__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.dpw-quick-quote__footer {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 18px;
}

.dpw-quick-quote__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 15px 24px;
	border: 0;
	border-radius: 14px;
	background: var(--dpw-accent);
	color: #ffffff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 16px 34px color-mix(in srgb, var(--dpw-accent) 30%, transparent);
	transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.dpw-quick-quote__submit:hover,
.dpw-quick-quote__submit:focus {
	transform: translateY(-1px);
	box-shadow: 0 20px 42px color-mix(in srgb, var(--dpw-accent) 38%, transparent);
}

.dpw-quick-quote__submit[disabled] {
	opacity: .65;
	cursor: not-allowed;
	transform: none;
}

.dpw-quick-quote__status {
	flex: 1;
	min-width: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.dpw-quick-quote__status.is-success {
	color: #12805c;
}

.dpw-quick-quote__status.is-error {
	color: #b42318;
}

@media (max-width: 1024px) {
	.dpw-quick-quote {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.dpw-quick-quote {
		padding: 22px;
		border-radius: 26px;
	}

	.dpw-quick-quote__grid {
		grid-template-columns: 1fr;
	}

	.dpw-quick-quote__form {
		padding: 16px;
		border-radius: 22px;
	}

	.dpw-quick-quote__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.dpw-quick-quote__submit {
		width: 100%;
	}
}

/* v1.4.0 — service page builder widgets */
.dpw-mini-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 16px;
	background: var(--dpw-accent-soft);
	color: var(--dpw-dark);
	font-size: 21px;
	font-weight: 900;
	flex: 0 0 auto;
}

.dpw-card-badge {
	display: inline-flex;
	width: fit-content;
	margin: 18px 0 0;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--dpw-accent);
	color: var(--dpw-dark);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}

.dpw-materials__grid,
.dpw-audience__grid,
.dpw-related__grid,
.dpw-reviews__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.dpw-material-card,
.dpw-audience__card,
.dpw-related__card,
.dpw-review,
.dpw-delivery__card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 210px;
	padding: 24px;
	border: 1px solid var(--dpw-border);
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(17, 24, 39, .045);
	text-decoration: none !important;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.dpw-material-card:hover,
.dpw-audience__card:hover,
.dpw-related__card:hover,
.dpw-delivery__card:hover {
	transform: translateY(-3px);
	border-color: rgba(91, 191, 230, .55);
	box-shadow: 0 24px 60px rgba(17, 24, 39, .08);
}

.dpw-material-card h3,
.dpw-audience__card h3,
.dpw-related__card h3,
.dpw-delivery__card h3,
.dpw-step h3 {
	margin: 20px 0 8px;
	color: var(--dpw-dark);
	font-size: 20px;
	line-height: 1.18;
	font-weight: 850;
	letter-spacing: -0.02em;
}

.dpw-material-card p,
.dpw-audience__card p,
.dpw-related__card p,
.dpw-delivery__card p,
.dpw-step p,
.dpw-review p {
	margin: 0;
	color: var(--dpw-muted);
	font-size: 15px;
	line-height: 1.65;
}

/* Order steps */
.dpw-steps__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	counter-reset: dpwstep;
}

.dpw-step {
	position: relative;
	min-height: 220px;
	padding: 28px;
	border-radius: 30px;
	background: linear-gradient(180deg, #ffffff 0%, var(--dpw-accent-soft) 100%);
	border: 1px solid rgba(17, 24, 39, .07);
	overflow: hidden;
}

.dpw-step::after {
	content: '';
	position: absolute;
	right: -42px;
	bottom: -42px;
	width: 110px;
	height: 110px;
	border-radius: 999px;
	background: var(--dpw-accent);
	opacity: .18;
}

.dpw-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 18px;
	background: var(--dpw-accent);
	color: var(--dpw-dark);
	font-weight: 900;
	font-size: 16px;
}

/* Requirements */
.dpw-req__wrap {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 28px;
	align-items: stretch;
	padding: 32px;
	border-radius: 34px;
	background: var(--dpw-accent-soft);
	border: 1px solid rgba(17,24,39,.06);
}

.dpw-req__intro {
	padding: 8px;
}

.dpw-req__intro h2,
.dpw-gallery__text h2,
.dpw-final-cta h2,
.dpw-delivery__head h2,
.dpw-seo-text h2 {
	margin: 0;
	color: var(--dpw-dark);
	font-size: clamp(28px, 4vw, 46px);
	line-height: 1.07;
	letter-spacing: -.04em;
	font-weight: 850;
}

.dpw-req__intro p,
.dpw-gallery__text p,
.dpw-final-cta p,
.dpw-delivery__head p {
	margin: 16px 0 0;
	color: var(--dpw-muted);
	font-size: 16px;
	line-height: 1.7;
}

.dpw-req__notice,
.dpw-seo-text__highlight {
	margin-top: 22px;
	padding: 18px 20px;
	border-radius: 22px;
	background: #fff;
	border-left: 5px solid var(--dpw-accent);
	color: var(--dpw-dark);
	font-weight: 750;
	line-height: 1.55;
	box-shadow: 0 14px 35px rgba(17, 24, 39, .05);
}

.dpw-req__list {
	display: grid;
	gap: 12px;
}

.dpw-req__item {
	display: grid;
	grid-template-columns: .7fr 1.3fr;
	gap: 18px;
	align-items: center;
	padding: 18px 20px;
	border-radius: 22px;
	background: #fff;
	border: 1px solid rgba(17,24,39,.06);
}

.dpw-req__item strong {
	color: var(--dpw-dark);
	font-size: 15px;
}

.dpw-req__item span {
	color: var(--dpw-muted);
	font-size: 14px;
	line-height: 1.55;
}

/* Work gallery */
.dpw-gallery__wrap {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 28px;
	align-items: center;
}

.dpw-gallery__text {
	padding: 28px;
	border-radius: 34px;
	background: #fff;
	border: 1px solid var(--dpw-border);
	box-shadow: 0 18px 50px rgba(17,24,39,.05);
}

.dpw-gallery__text .dpw-button {
	margin-top: 24px;
}

.dpw-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.dpw-gallery__item {
	position: relative;
	margin: 0;
	min-height: 190px;
	border-radius: 28px;
	overflow: hidden;
	background: var(--dpw-accent-soft);
	border: 1px solid rgba(17,24,39,.06);
}

.dpw-gallery__item img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 190px;
	object-fit: cover;
	transition: transform .25s ease;
}

.dpw-gallery__item:hover img {
	transform: scale(1.04);
}

.dpw-gallery__item figcaption {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 12px;
	padding: 9px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,.9);
	color: var(--dpw-dark);
	font-size: 13px;
	font-weight: 800;
	backdrop-filter: blur(8px);
}

/* Related services */
.dpw-related__card {
	color: inherit !important;
}

.dpw-related__more {
	margin-top: auto;
	padding-top: 18px;
	color: var(--dpw-dark);
	font-size: 14px;
	font-weight: 850;
}

/* Final CTA */
.dpw-final-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	padding: clamp(28px, 5vw, 54px);
	border-radius: 36px;
	background: linear-gradient(135deg, var(--dpw-accent-soft) 0%, #ffffff 100%);
	border: 1px solid rgba(17,24,39,.07);
	box-shadow: 0 22px 70px rgba(17,24,39,.06);
}

.dpw-final-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
}

/* Audience */
.dpw-audience__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Comparison */
.dpw-compare__table {
	display: grid;
	gap: 10px;
}

.dpw-compare__row {
	display: grid;
	grid-template-columns: .8fr 1.2fr 1.2fr .8fr;
	gap: 16px;
	align-items: center;
	padding: 18px 20px;
	border: 1px solid var(--dpw-border);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 14px 35px rgba(17,24,39,.035);
}

.dpw-compare__head {
	background: var(--dpw-dark);
	color: #fff;
	font-size: 13px;
	font-weight: 850;
	text-transform: uppercase;
	letter-spacing: .05em;
}

.dpw-compare__row:not(.dpw-compare__head) span,
.dpw-compare__row:not(.dpw-compare__head) b {
	color: var(--dpw-muted);
	font-size: 14px;
	line-height: 1.5;
}

.dpw-compare__row strong {
	color: var(--dpw-dark);
	font-size: 16px;
}

.dpw-compare__row b {
	font-weight: 850;
	color: var(--dpw-dark) !important;
}

.dpw-compare__row.is-highlight {
	border-color: rgba(91,191,230,.55);
	background: linear-gradient(90deg, #fff 0%, var(--dpw-accent-soft) 100%);
}

/* Delivery */
.dpw-delivery__inner {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 24px;
	align-items: stretch;
	padding: 32px;
	border-radius: 34px;
	background: #fff;
	border: 1px solid var(--dpw-border);
	box-shadow: 0 20px 60px rgba(17,24,39,.055);
}

.dpw-delivery__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

/* Reviews */
.dpw-reviews__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dpw-review {
	min-height: 230px;
}

.dpw-review__stars {
	margin-bottom: 18px;
	color: var(--dpw-accent);
	font-size: 18px;
	letter-spacing: .08em;
}

.dpw-review strong {
	margin-top: auto;
	padding-top: 20px;
	color: var(--dpw-dark);
	font-size: 16px;
}

.dpw-review span {
	margin-top: 5px;
	color: var(--dpw-muted);
	font-size: 13px;
}

/* SEO text */
.dpw-seo-text__inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: clamp(26px, 5vw, 48px);
	border-radius: 34px;
	background: #fff;
	border: 1px solid var(--dpw-border);
	box-shadow: 0 20px 60px rgba(17,24,39,.045);
}

.dpw-seo-text__content {
	margin-top: 20px;
	color: var(--dpw-muted);
	font-size: 16px;
	line-height: 1.75;
}

.dpw-seo-text.is-columns .dpw-seo-text__content {
	columns: 2;
	column-gap: 42px;
}

.dpw-seo-text__content p:first-child {
	margin-top: 0;
}

.dpw-seo-text__content h3 {
	color: var(--dpw-dark);
	font-size: 22px;
	line-height: 1.25;
	margin: 26px 0 12px;
}

.dpw-seo-text__content ul,
.dpw-seo-text__content ol {
	padding-left: 20px;
}

@media (max-width: 1024px) {
	.dpw-materials__grid,
	.dpw-audience__grid,
	.dpw-related__grid,
	.dpw-steps__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpw-gallery__wrap,
	.dpw-req__wrap,
	.dpw-delivery__inner {
		grid-template-columns: 1fr;
	}

	.dpw-delivery__grid,
	.dpw-reviews__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpw-final-cta__inner {
		grid-template-columns: 1fr;
	}

	.dpw-final-cta__actions {
		justify-content: flex-start;
	}

	.dpw-compare__row {
		grid-template-columns: 1fr 1fr;
	}

	.dpw-seo-text.is-columns .dpw-seo-text__content {
		columns: 1;
	}
}

@media (max-width: 640px) {
	.dpw-materials__grid,
	.dpw-audience__grid,
	.dpw-related__grid,
	.dpw-steps__grid,
	.dpw-delivery__grid,
	.dpw-reviews__grid,
	.dpw-gallery__grid {
		grid-template-columns: 1fr;
	}

	.dpw-req__wrap,
	.dpw-delivery__inner {
		padding: 20px;
		border-radius: 26px;
	}

	.dpw-req__item {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.dpw-compare__head {
		display: none;
	}

	.dpw-compare__row {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.dpw-final-cta__actions .dpw-button {
		width: 100%;
	}
}


/* v1.5.0 — redesigned Elementor service-page template layout */
.elementor-widget-dp_materials .dpw-section,
.elementor-widget-dp_comparison .dpw-section,
.elementor-widget-dp_audience .dpw-section,
.elementor-widget-dp_order_steps .dpw-section,
.elementor-widget-dp_file_requirements .dpw-section,
.elementor-widget-dp_work_gallery .dpw-section,
.elementor-widget-dp_quick_quote .dpw-section,
.elementor-widget-dp_delivery_payment .dpw-section,
.elementor-widget-dp_related_services .dpw-section,
.elementor-widget-dp_reviews .dpw-section,
.elementor-widget-dp_faq .dpw-section,
.elementor-widget-dp_seo_text .dpw-section,
.elementor-widget-dp_final_cta .dpw-section,
.elementor-widget-dp_image_cards .dpw-section {
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding: clamp(42px, 5.2vw, 72px) 20px;
}

.elementor-widget-dp_hero_editable .dpw-hero-editable {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding: clamp(56px, 6.5vw, 92px) 20px clamp(42px, 5vw, 70px);
	background:
		radial-gradient(circle at 72% 27%, rgba(19,112,232,.16) 0, transparent 33%),
		radial-gradient(circle at 83% 76%, rgba(91,191,230,.13) 0, transparent 28%),
		linear-gradient(180deg, #f6fbff 0%, #ffffff 100%);
}

.elementor-widget-dp_hero_editable .dpw-hero-editable--tall {
	min-height: min(680px, 72vh);
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__inner {
	max-width: 1240px !important;
	grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
	gap: clamp(34px, 5vw, 76px);
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__content {
	max-width: 590px;
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__badge,
.dpw-eyebrow {
	background: #eaf8ff;
	color: #1370e8;
	border: 1px solid rgba(19,112,232,.12);
	box-shadow: none;
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__title {
	font-size: clamp(42px, 4.7vw, 62px);
	line-height: .98;
	letter-spacing: -.055em;
	max-width: 620px;
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__accent {
	color: #1370e8;
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__text {
	max-width: 560px;
	font-size: clamp(16px, 1.25vw, 18px);
	line-height: 1.62;
	color: #334155;
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__price {
	margin-top: 28px;
	font-size: 18px;
	gap: 8px;
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__price strong {
	font-size: clamp(36px, 3.4vw, 48px);
	color: #1370e8;
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__actions {
	margin-top: 26px;
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__button {
	min-height: 54px;
	min-width: 190px;
	border-radius: 12px;
	font-size: 14px;
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__button--primary {
	background: #1370e8;
	border-color: #1370e8;
	box-shadow: 0 18px 38px rgba(19,112,232,.22);
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__button--secondary {
	background: rgba(255,255,255,.72);
	color: #1370e8 !important;
	border-color: rgba(19,112,232,.35);
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__media {
	min-height: 390px;
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__blob {
	inset: 7% 2% 6% 4%;
	border-radius: 28px;
	background: linear-gradient(135deg, #dff3ff 0%, #ffffff 100%);
	transform: rotate(0deg);
	box-shadow: 0 28px 80px rgba(19,112,232,.12);
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__media::before,
.elementor-widget-dp_hero_editable .dpw-hero-editable__media::after {
	display: none;
}

.elementor-widget-dp_hero_editable .dpw-hero-editable__media img {
	width: min(100%, 610px);
	max-height: 390px;
	border-radius: 22px;
	filter: drop-shadow(0 26px 36px rgba(17,24,39,.16));
}

.dpw-heading {
	max-width: 740px;
	margin-bottom: 26px;
}

.dpw-heading h2,
.dpw-contact h2,
.dpw-modal h2,
.dpw-req__intro h2,
.dpw-gallery__text h2,
.dpw-final-cta h2,
.dpw-delivery__head h2,
.dpw-seo-text h2 {
	font-size: clamp(28px, 3vw, 42px);
	letter-spacing: -.045em;
}

.dpw-heading p {
	font-size: 15px;
	line-height: 1.62;
}

.dpw-image-cards__head {
	text-align: center;
	margin-bottom: 22px;
}

.dpw-image-cards__head p {
	margin-left: auto;
	margin-right: auto;
	font-size: 15px;
	color: #64748b;
}

.dpw-image-cards__grid {
	gap: 18px;
}

.dpw-image-card {
	border: 1px solid rgba(19,112,232,.16);
	border-top: 3px solid #1370e8;
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(17,24,39,.055);
}

.dpw-image-card__top {
	grid-template-columns: 38px minmax(0,1fr);
	gap: 12px;
	padding: 14px 16px;
}

.dpw-image-card__icon {
	width: 38px;
	height: 38px;
	border-radius: 11px;
	background: #1370e8;
	font-size: 16px;
}

.dpw-image-card__titles h3 {
	font-size: 16px;
}

.dpw-image-card__titles p {
	font-size: 12px;
	color: #64748b;
}

.dpw-image-card__media {
	aspect-ratio: 16 / 10;
	background: #f4fbff;
}

.dpw-image-card__body {
	padding: 14px 16px 16px;
	gap: 12px;
}

.dpw-image-card__body p {
	font-size: 13px;
	line-height: 1.55;
	color: #475569;
}

.dpw-image-card__button {
	min-height: 36px;
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 13px;
	background: #1370e8;
	border-color: #1370e8;
}

.dpw-materials__grid,
.dpw-audience__grid,
.dpw-related__grid,
.dpw-reviews__grid,
.dpw-steps__grid,
.dpw-delivery__grid {
	gap: 16px;
}

.dpw-material-card,
.dpw-audience__card,
.dpw-related__card,
.dpw-review,
.dpw-delivery__card,
.dpw-step {
	min-height: auto;
	border-radius: 20px;
	border-color: rgba(19,112,232,.10);
	box-shadow: 0 14px 36px rgba(17,24,39,.045);
}

.dpw-material-card,
.dpw-audience__card,
.dpw-related__card,
.dpw-delivery__card {
	padding: 22px;
}

.dpw-mini-icon,
.dpw-step__num {
	background: #eaf8ff;
	color: #1370e8;
	border: 1px solid rgba(19,112,232,.13);
}

.dpw-material-card h3,
.dpw-audience__card h3,
.dpw-related__card h3,
.dpw-delivery__card h3,
.dpw-step h3 {
	font-size: 17px;
	margin-top: 16px;
}

.dpw-material-card p,
.dpw-audience__card p,
.dpw-related__card p,
.dpw-delivery__card p,
.dpw-step p,
.dpw-review p {
	font-size: 14px;
	line-height: 1.58;
	color: #64748b;
}

.dpw-card-badge {
	background: #1370e8;
	color: #fff;
}

.dpw-compare__row {
	border-radius: 14px;
	padding: 15px 18px;
	box-shadow: none;
	border-color: rgba(19,112,232,.12);
}

.dpw-compare__head {
	background: #eaf6ff;
	color: #0f172a;
	border-color: rgba(19,112,232,.16);
}

.dpw-compare__row.is-highlight {
	background: linear-gradient(90deg, #ffffff 0%, #f1faff 100%);
}

.dpw-step {
	padding: 24px;
	background: linear-gradient(180deg, #ffffff 0%, #f4fbff 100%);
}

.dpw-step__num {
	background: #1370e8;
	color: #fff;
	width: 44px;
	height: 44px;
	border-radius: 999px;
}

.dpw-req__wrap,
.dpw-delivery__inner,
.dpw-final-cta__inner,
.dpw-quick-quote {
	border-radius: 28px;
	border-color: rgba(19,112,232,.12);
	box-shadow: 0 18px 55px rgba(19,112,232,.07);
	background: linear-gradient(135deg, #f4fbff 0%, #ffffff 100%);
}

.dpw-gallery__text,
.dpw-seo-text__inner,
.dpw-review,
.dpw-faq__item {
	border-color: rgba(19,112,232,.11);
	box-shadow: 0 14px 38px rgba(17,24,39,.045);
}

.dpw-gallery__item {
	border-radius: 18px;
	min-height: 165px;
}

.dpw-gallery__item img {
	min-height: 165px;
}

.dpw-quick-quote__content h2 {
	font-size: clamp(30px, 3.4vw, 46px);
}

.dpw-quick-quote__form {
	border-radius: 22px;
}

.dpw-quick-quote__submit,
.dpw-button--primary,
.dpw-button--dark {
	background: #1370e8;
	color: #fff !important;
	box-shadow: 0 16px 34px rgba(19,112,232,.18);
}

.dpw-button,
.dpw-button:visited {
	border-radius: 12px;
	min-height: 44px;
	font-size: 14px;
}

.dpw-faq__list {
	max-width: 860px;
}

.dpw-faq__item {
	border-radius: 16px;
}

.dpw-faq__item summary {
	font-size: 15px;
	padding: 17px 54px 17px 20px;
}

.dpw-faq__item summary::after {
	background: #eaf8ff;
	color: #1370e8;
}

.dpw-seo-text__inner {
	max-width: 980px;
	border-radius: 28px;
}

@media (max-width: 1180px) {
	.elementor-widget-dp_hero_editable .dpw-hero-editable__inner {
		grid-template-columns: 1fr 1fr;
	}
	.elementor-widget-dp_hero_editable .dpw-hero-editable__title {
		font-size: clamp(42px, 4.8vw, 56px);
	}
}

@media (max-width: 1024px) {
	.elementor-widget-dp_hero_editable .dpw-hero-editable__inner {
		grid-template-columns: 1fr;
	}
	.elementor-widget-dp_hero_editable .dpw-hero-editable__media {
		min-height: 320px;
	}
	.elementor-widget-dp_hero_editable .dpw-hero-editable__content {
		max-width: 720px;
	}
}

@media (max-width: 767px) {
	.elementor-widget-dp_materials .dpw-section,
	.elementor-widget-dp_comparison .dpw-section,
	.elementor-widget-dp_audience .dpw-section,
	.elementor-widget-dp_order_steps .dpw-section,
	.elementor-widget-dp_file_requirements .dpw-section,
	.elementor-widget-dp_work_gallery .dpw-section,
	.elementor-widget-dp_quick_quote .dpw-section,
	.elementor-widget-dp_delivery_payment .dpw-section,
	.elementor-widget-dp_related_services .dpw-section,
	.elementor-widget-dp_reviews .dpw-section,
	.elementor-widget-dp_faq .dpw-section,
	.elementor-widget-dp_seo_text .dpw-section,
	.elementor-widget-dp_final_cta .dpw-section,
	.elementor-widget-dp_image_cards .dpw-section {
		padding: 34px 16px;
	}
	.elementor-widget-dp_hero_editable .dpw-hero-editable {
		padding: 38px 16px 42px;
	}
	.elementor-widget-dp_hero_editable .dpw-hero-editable__title {
		font-size: clamp(36px, 10vw, 48px);
	}
	.elementor-widget-dp_hero_editable .dpw-hero-editable__media {
		min-height: 230px;
	}
	.elementor-widget-dp_hero_editable .dpw-hero-editable__media img {
		max-height: 260px;
	}
	.dpw-image-card__media { aspect-ratio: 16/9; }
}


/* v1.6 SEO landing widgets */
.dpw-hero-form{max-width:1240px;margin:0 auto 34px;padding:64px 22px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.75fr);gap:26px;align-items:stretch;background:linear-gradient(135deg,#f6fbff 0%,#fff 55%,var(--dpw-accent-soft) 100%);border-radius:34px;overflow:hidden}.dpw-hero-form__copy{position:relative;padding:22px}.dpw-hero-form h1{margin:0;color:var(--dpw-dark);font-size:clamp(36px,5vw,68px);line-height:.98;letter-spacing:-.055em;font-weight:900}.dpw-hero-form__accent{margin:18px 0 0;display:inline-flex;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid rgba(19,112,232,.13);font-weight:800;color:var(--dpw-accent)}.dpw-hero-form p{max-width:660px;margin:20px 0 0;color:#475467;font-size:17px;line-height:1.7}.dpw-hero-form__bullets{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.dpw-hero-form__bullets span{display:inline-flex;padding:9px 12px;border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.08);font-size:14px;font-weight:700;color:#253143}.dpw-hero-form__image{margin-top:30px;max-width:540px}.dpw-hero-form__image img{display:block;width:100%;border-radius:26px;box-shadow:0 24px 60px rgba(16,24,40,.12)}.dpw-hero-form__form{align-self:center;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:28px;padding:24px;box-shadow:0 24px 70px rgba(16,24,40,.14)}.dpw-hero-form__form-head{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.dpw-hero-form__form-head span{color:#667085;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.dpw-hero-form__form-head strong{color:#0f172a;font-size:22px;line-height:1.15}.dpw-hero-form__form .dpw-quick-quote__field{margin-bottom:12px}.dpw-hero-form__form .dpw-quick-quote__submit{width:100%}
.dpw-service-rows,.dpw-use-cases,.dpw-packages,.dpw-local,.dpw-ideas{max-width:1240px;margin:0 auto;padding:54px 22px}.dpw-service-rows__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dpw-service-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;padding:18px;border:1px solid rgba(15,23,42,.08);border-radius:22px;background:#fff;text-decoration:none!important;color:inherit!important;transition:transform .2s ease,box-shadow .2s ease}.dpw-service-row:hover{transform:translateY(-2px);box-shadow:0 18px 45px rgba(16,24,40,.08)}.dpw-service-row h3{margin:0 0 5px;color:#0f172a;font-size:18px}.dpw-service-row p{margin:0;color:#667085;line-height:1.55}.dpw-service-row__arrow{width:34px;height:34px;border-radius:999px;background:var(--dpw-accent-soft);display:grid;place-items:center;color:var(--dpw-accent);font-weight:900}.dpw-use-cases__grid,.dpw-ideas__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dpw-use-card,.dpw-idea{position:relative;padding:24px;border-radius:26px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 40px rgba(16,24,40,.05)}.dpw-use-card h3,.dpw-idea h3{margin:16px 0 8px;color:#0f172a;font-size:22px;line-height:1.15}.dpw-use-card p,.dpw-idea p{margin:0;color:#667085;line-height:1.65}.dpw-idea span{display:inline-flex;width:44px;height:44px;border-radius:15px;align-items:center;justify-content:center;background:var(--dpw-accent-soft);color:var(--dpw-accent);font-weight:900}.dpw-packages__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dpw-package{padding:26px;border-radius:28px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 55px rgba(16,24,40,.06);display:flex;flex-direction:column;gap:18px}.dpw-package.is-highlighted{border-color:rgba(19,112,232,.35);background:linear-gradient(180deg,#fff 0%,var(--dpw-accent-soft) 100%);transform:translateY(-8px)}.dpw-package__top span{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--dpw-accent)}.dpw-package h3{margin:8px 0 0;font-size:30px;letter-spacing:-.03em;color:#0f172a}.dpw-package ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}.dpw-package li{color:#344054}.dpw-package li:before{content:'✓';color:var(--dpw-accent);font-weight:900;margin-right:8px}.dpw-package__price{margin-top:auto;padding-top:4px;color:#0f172a;font-size:16px;font-weight:900}.dpw-local{display:grid;grid-template-columns:1fr .7fr;gap:20px;align-items:center;background:#f6fbff;border-radius:34px}.dpw-local h2{margin:0;color:#0f172a;font-size:clamp(30px,4vw,54px);line-height:1.04;letter-spacing:-.045em}.dpw-local p{color:#667085;line-height:1.7;font-size:17px}.dpw-local__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.dpw-local__chips span{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.08);font-weight:800;color:#253143}.dpw-local__card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:28px;padding:28px;box-shadow:0 22px 60px rgba(16,24,40,.08)}.dpw-local__pin{width:62px;height:62px;border-radius:22px;background:var(--dpw-accent);color:#fff;display:grid;place-items:center;font-size:34px;font-weight:900;margin-bottom:18px}.dpw-local__card h3{margin:0;color:#0f172a;font-size:26px}.dpw-local__card p{margin:12px 0 0}.dpw-service-rows .dpw-heading,.dpw-use-cases .dpw-heading,.dpw-packages .dpw-heading,.dpw-ideas .dpw-heading{max-width:820px}
@media (max-width: 900px){.dpw-hero-form,.dpw-local{grid-template-columns:1fr}.dpw-service-rows__list,.dpw-use-cases__grid,.dpw-ideas__grid,.dpw-packages__grid{grid-template-columns:1fr}.dpw-package.is-highlighted{transform:none}.dpw-hero-form{padding:28px 14px;border-radius:24px}.dpw-hero-form__copy{padding:8px}.dpw-hero-form__form{padding:18px;border-radius:22px}.dpw-service-row{grid-template-columns:auto 1fr}.dpw-service-row__arrow,.dpw-service-row .dpw-card-badge{display:none}}
