/**
 * Devprove long-form document template.
 *
 * Builder class contract:
 * .devprove-ethics-page
 *   .devprove-ethics-hero
 *   .devprove-ethics-document
 *     .devprove-ethics-toc
 *     .devprove-ethics-content
 *       .devprove-ethics-chapter
 *       .devprove-ethics-section
 *   .devprove-ethics-cta
 */

.devprove-elementor-document,
.devprove-ethics-page {
	--devprove-document-bg: #000;
	--devprove-document-surface: rgba(7, 21, 23, 0.78);
	--devprove-document-surface-strong: rgba(9, 30, 32, 0.92);
	--devprove-document-line: rgba(112, 236, 231, 0.2);
	--devprove-document-line-soft: rgba(255, 255, 255, 0.09);
	--devprove-document-accent: #5df7f7;
	--devprove-document-accent-soft: #89ffe7;
	--devprove-document-text: #f5ffff;
	--devprove-document-muted: #a4a7ae;
	background: var(--devprove-document-bg);
	color: var(--devprove-document-text);
	font-family: inherit;
}

.devprove-elementor-document,
.devprove-elementor-document *,
.devprove-ethics-page,
.devprove-ethics-page * {
	box-sizing: border-box;
}

.devprove-ethics-page {
	overflow: clip;
}

body.page-template-devprove-elementor-document #pxl-header-elementor img[src*="logo"] {
	content: url("https://dev.devprove.com/wp-content/uploads/2026/07/devprove-brand-logo-white.svg") !important;
	width: 39px !important;
	height: 47px !important;
	max-width: 39px !important;
	object-fit: contain !important;
}

body.page-template-devprove-elementor-document .elementor-widget-pxl_menu .pxl-menu__primary > li > a > i,
body.page-template-devprove-elementor-document .pxl-header-mobile-search {
	display: none !important;
}

.devprove-ethics-page :is(h1, h2, h3, h4) {
	color: var(--devprove-document-text);
	font-family: inherit;
	text-wrap: balance;
}

.devprove-ethics-page :is(h2, h3, h4)[id],
.devprove-ethics-page [id^="ethics-"] {
	scroll-margin-top: 120px;
}

.devprove-ethics-hero {
	position: relative;
	isolation: isolate;
	padding-block: clamp(150px, 13vw, 210px) clamp(64px, 8vw, 112px);
	padding-inline: clamp(20px, 5vw, 72px);
	background:
		radial-gradient(circle at 50% 44%, rgba(1, 229, 229, 0.17), transparent 34%),
		linear-gradient(180deg, rgba(3, 18, 20, 0.72), rgba(0, 0, 0, 0));
}

.devprove-ethics-hero::after {
	content: '';
	position: absolute;
	z-index: -1;
	inset: auto 5% 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(93, 247, 247, 0.7), transparent);
	box-shadow: 0 0 36px rgba(93, 247, 247, 0.32);
}

.devprove-ethics-hero > .e-con-inner,
.devprove-ethics-hero.e-con-full {
	width: min(100%, 1240px);
	margin-inline: auto;
}

.devprove-ethics-kicker {
	color: var(--devprove-document-accent);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.devprove-ethics-hero h1,
.devprove-ethics-hero .pxl-heading__title {
	max-width: 1000px;
	margin-inline: 0;
	font-size: clamp(42px, 6.2vw, 84px);
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.devprove-ethics-lead,
.devprove-ethics-lead .pxl-text-editor__inner {
	max-width: 760px;
	color: var(--devprove-document-muted);
	font-size: clamp(17px, 1.5vw, 21px);
	line-height: 1.6;
}

.devprove-ethics-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.devprove-ethics-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	color: var(--devprove-document-muted);
	font-size: 13px;
	line-height: 1.5;
}

.devprove-ethics-document.e-con,
.devprove-ethics-document {
	display: block;
	width: min(100%, 1320px);
	margin-inline: auto;
	padding: clamp(72px, 9vw, 128px) clamp(20px, 5vw, 72px);
}

.devprove-ethics-document > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(220px, 280px) minmax(0, 860px);
	justify-content: center;
	align-items: start;
	gap: clamp(36px, 6vw, 88px);
	width: 100%;
	max-width: none;
}

.devprove-ethics-document > .e-con-inner > :is(.devprove-ethics-toc, .devprove-ethics-content) {
	--width: 100%;
	width: 100%;
	max-width: none;
}

.devprove-ethics-toc.e-con,
.devprove-ethics-toc {
	position: sticky;
	top: 112px;
	max-height: calc(100vh - 144px);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: rgba(93, 247, 247, 0.35) transparent;
	min-width: 0;
	padding: 24px;
	border: 1px solid var(--devprove-document-line);
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(10, 31, 33, 0.86), rgba(2, 12, 13, 0.9));
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.04), 0 24px 72px rgba(0, 0, 0, 0.28);
}

.devprove-ethics-toc :is(h2, h3, .pxl-heading__title) {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.35;
}

.devprove-ethics-toc :is(ul, ol) {
	display: grid;
	gap: 3px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.devprove-ethics-toc li {
	margin: 0;
}

.devprove-ethics-toc a {
	display: block;
	padding: 8px 10px;
	border-left: 1px solid rgba(112, 236, 231, 0.2);
	color: var(--devprove-document-muted);
	font-size: 13px;
	line-height: 1.45;
	text-decoration: none;
	transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
}

.devprove-ethics-toc a:is(:hover, :focus-visible) {
	border-left-color: var(--devprove-document-accent);
	background: rgba(93, 247, 247, 0.05);
	color: var(--devprove-document-accent-soft);
}

.devprove-ethics-page a:focus-visible {
	outline: 2px solid var(--devprove-document-accent);
	outline-offset: 3px;
}

.devprove-ethics-content {
	min-width: 0;
}

.devprove-ethics-chapter {
	position: relative;
	margin-bottom: 24px;
	padding: clamp(28px, 4vw, 48px);
	border: 1px solid var(--devprove-document-line-soft);
	border-radius: 22px;
	background:
		linear-gradient(145deg, rgba(93, 247, 247, 0.035), transparent 44%),
		var(--devprove-document-surface);
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.035);
}

.devprove-ethics-chapter::before {
	content: '';
	position: absolute;
	top: -1px;
	left: clamp(28px, 4vw, 48px);
	width: 68px;
	height: 1px;
	background: var(--devprove-document-accent);
	box-shadow: 0 0 18px rgba(93, 247, 247, 0.65);
}

.devprove-ethics-chapter :is(h2, .pxl-heading__title) {
	margin: 0 0 22px;
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.12;
	letter-spacing: -0.03em;
}

.devprove-ethics-section {
	padding-top: 26px;
	border-top: 1px solid var(--devprove-document-line-soft);
}

.devprove-ethics-section + .devprove-ethics-section {
	margin-top: 26px;
}

.devprove-ethics-section :is(h3, .pxl-heading__title) {
	margin: 0 0 14px;
	font-size: clamp(20px, 2vw, 26px);
	line-height: 1.25;
}

.devprove-ethics-content :is(p, li),
.devprove-ethics-content .pxl-text-editor__inner {
	color: var(--devprove-document-muted);
	font-size: 16px;
	line-height: 1.75;
}

.devprove-ethics-content p {
	margin: 0 0 16px;
}

.devprove-ethics-content :is(ul, ol) {
	margin: 0 0 20px;
	padding-left: 1.35em;
}

.devprove-ethics-content li + li {
	margin-top: 8px;
}

.devprove-ethics-content strong {
	color: var(--devprove-document-text);
	font-weight: 600;
}

.devprove-ethics-content blockquote {
	margin: 24px 0;
	padding: 20px 22px;
	border-left: 2px solid var(--devprove-document-accent);
	border-radius: 0 12px 12px 0;
	background: rgba(93, 247, 247, 0.055);
	color: #dff;
}

.devprove-ethics-content table {
	width: 100%;
	margin: 24px 0;
	border-collapse: collapse;
	font-size: 14px;
}

.devprove-ethics-content :is(th, td) {
	padding: 12px 14px;
	border: 1px solid var(--devprove-document-line-soft);
	vertical-align: top;
	text-align: left;
}

.devprove-ethics-content th {
	background: rgba(93, 247, 247, 0.07);
	color: var(--devprove-document-text);
}

.devprove-ethics-cta {
	position: relative;
	z-index: 2;
	isolation: isolate;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 32px;
	padding: clamp(28px, 4vw, 44px);
	border: 1px solid rgba(93, 247, 247, 0.34);
	border-radius: 22px;
	background: linear-gradient(135deg, rgba(7, 45, 47, 0.92), rgba(1, 15, 16, 0.96));
	box-shadow: 0 0 56px rgba(1, 229, 229, 0.08);
}

.devprove-ethics-cta a:not(.elementor-button) {
	color: var(--devprove-document-accent);
	text-decoration-color: rgba(93, 247, 247, 0.45);
}

.devprove-ethics-cta a:not(.elementor-button):is(:hover, :focus-visible) {
	color: var(--devprove-document-accent-soft);
}

.devprove-ethics-cta :is(h2, h3, .pxl-heading__title) {
	margin: 0;
}

@media (min-width: 1025px) {
	.devprove-ethics-hero {
		padding-inline: clamp(24px, 3vw, 48px);
	}

	.devprove-ethics-hero > .e-con-inner,
	.devprove-ethics-hero.e-con-full {
		width: min(100%, 1680px);
	}

	.devprove-ethics-hero-inner > .e-con-inner,
	.devprove-ethics-address-wrap > .e-con-inner,
	.devprove-ethics-cta-inner > .e-con-inner {
		width: 100%;
		max-width: 1680px;
	}

	.devprove-ethics-document.e-con,
	.devprove-ethics-document {
		width: min(100%, 1760px);
		padding-inline: clamp(24px, 3vw, 48px);
	}

	.devprove-ethics-document > .e-con-inner {
		grid-template-columns: clamp(240px, 18vw, 300px) minmax(0, 1fr);
		justify-content: stretch;
		gap: clamp(40px, 4vw, 64px);
	}

	.devprove-ethics-section-copy,
	.devprove-ethics-address-copy,
	.devprove-ethics-company-copy,
	.devprove-ethics-cta-copy {
		max-width: 88ch;
	}
}

@media (max-width: 1024px) {
	.devprove-ethics-document.e-con,
	.devprove-ethics-document {
		padding-inline: 32px;
	}

	.devprove-ethics-document > .e-con-inner {
		grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
		gap: 32px;
	}
}

@media (max-width: 767px) {
	.devprove-ethics-hero {
		padding-block: 124px 64px;
	}

	.devprove-ethics-hero h1,
	.devprove-ethics-hero .pxl-heading__title {
		font-size: clamp(38px, 12vw, 56px);
		letter-spacing: -0.035em;
	}

	.devprove-ethics-document.e-con,
	.devprove-ethics-document {
		display: block;
		padding-block: 64px 88px;
		padding-inline: 16px;
	}

	.devprove-ethics-document > .e-con-inner {
		display: block;
	}

	.devprove-ethics-toc.e-con,
	.devprove-ethics-toc {
		position: static;
		max-height: min(66vh, 520px);
		margin-bottom: 32px;
	}

	.devprove-ethics-chapter {
		padding: 28px 22px;
		border-radius: 16px;
	}

	.devprove-ethics-chapter::before {
		left: 22px;
	}

	.devprove-ethics-content :is(p, li),
	.devprove-ethics-content .pxl-text-editor__inner {
		font-size: 15px;
		line-height: 1.7;
	}

	.devprove-ethics-content table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.devprove-ethics-cta {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media print {
	#pxl-loadding,
	#pxl-header-elementor,
	#pxl-header-mobile,
	#pxl-footer-elementor,
	.pxl-scroll-top,
	.devprove-ethics-toc,
	.devprove-ethics-actions,
	.devprove-ethics-cta {
		display: none !important;
	}

	.devprove-elementor-document,
	.devprove-ethics-page,
	.devprove-ethics-hero,
	.devprove-ethics-chapter {
		background: #fff !important;
		color: #111 !important;
		box-shadow: none !important;
	}

	.devprove-ethics-hero {
		padding: 24px 0 36px;
	}

	.devprove-ethics-document.e-con,
	.devprove-ethics-document {
		display: block;
		width: 100%;
		padding: 0;
	}

	.devprove-ethics-document > .e-con-inner {
		display: block;
		width: 100%;
	}

	.devprove-ethics-page :is(h1, h2, h3, h4, strong),
	.devprove-ethics-content :is(p, li),
	.devprove-ethics-content .pxl-text-editor__inner {
		color: #111 !important;
	}

	.devprove-ethics-chapter {
		break-inside: avoid-page;
		margin: 0 0 20px;
		padding: 20px 0;
		border: 0;
		border-top: 1px solid #bbb;
		border-radius: 0;
	}

	.devprove-ethics-chapter::before {
		display: none;
	}

	.devprove-ethics-page a {
		color: #111 !important;
		text-decoration: underline;
	}
}

/* Keep the ethics contents in one vertically scrollable column. */
.devprove-ethics-page .devprove-ethics-toc.e-con {
  flex-direction: column;
  flex-wrap: nowrap;
}

.devprove-ethics-page .devprove-ethics-toc.e-con > .elementor-element {
  flex-shrink: 0;
}
