/*
Theme Name: ProDexter Child
Theme URI: http://localhost:8080
Description: Local child theme for ProDexter AI, extending Hello Elementor.
Author: ProDexter AI
Template: hello-elementor
Version: 1.0.0
Text Domain: prodexter-child
*/

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
	/* === Prodexter Design System v1.1 tokens === */
	/* Violet — primary */
	--v-50: #F1EDFE; --v-100: #E2DAFC; --v-200: #C4B5F9; --v-300: #A38EF4; --v-400: #7E5BEA;
	--v-500: #5B34DE; --v-600: #4826BC; --v-700: #371C93; --v-800: #26136A; --v-900: #170B41;
	/* Teal — secondary */
	--t-50: #E8FBF9; --t-100: #CBF6F2; --t-200: #9BEDE6; --t-300: #6BE3DA; --t-400: #3AD9CF;
	--t-500: #22B8AF; --t-600: #17948D; --t-700: #0F6E69; --t-800: #094A47; --t-900: #052825;
	/* Neutral */
	--n-0: #FFFFFF; --n-25: #EFEFF3; --n-50: #F5F5F8; --n-100: #E9E9EF; --n-200: #D6D6E0;
	--n-300: #B9B9C8; --n-400: #8C8C9E; --n-500: #67677A; --n-600: #4C4C59; --n-700: #35353F;
	--n-800: #22222A; --n-900: #111117;
	/* Semantic */
	--ok: #12A150; --ok-bg: #E7F7EE; --warn: #B57500; --warn-bg: #FDF3E0;
	--danger: #D32F42; --danger-pressed: #B92434; --danger-bg: #FCEDEF;
	--info: #3D7BE8; --info-bg: #EDF3FE;
	/* Accent aliases */
	--accent: var(--v-500); --accent-hi: var(--v-400); --accent-lo: var(--v-600);
	/* Elevation */
	--sh-sm: 0 1px 2px rgba(20,20,26,.07);
	--sh-md: 0 4px 12px rgba(20,20,26,.08);
	--sh-lg: 0 16px 40px rgba(20,20,26,.13);
	--ring: 0 0 0 3px rgba(91,52,222,.28);
	/* Type families */
	--fh: 'Sora', system-ui, sans-serif;
	--fb: 'Manrope', system-ui, sans-serif;
	--fm: 'JetBrains Mono', ui-monospace, monospace;
	/* Motion */
	--ease: cubic-bezier(.2,.8,.2,1);
	--d-instant: 120ms; --d-standard: 180ms; --d-entrance: 260ms;

	/* Legacy aliases (keep existing --pd-* references working) */
	--pd-ink: var(--n-900);
	--pd-ink-soft: var(--n-500);
	--pd-paper: var(--n-25);
	--pd-surface: var(--n-0);
	--pd-line: var(--n-200);
	--pd-violet: var(--v-500);
	--pd-teal: var(--t-400);
	--pd-amber: var(--warn);
	--pd-danger: var(--danger);
	--pd-gradient: linear-gradient(135deg, #3AD9CF 0%, #4A8AC9 48%, #642EE4 100%);
	--pd-gradient-aa: linear-gradient(135deg, var(--v-600) 0%, var(--t-800) 100%);
	--pd-gradient-dark-wash: radial-gradient(80% 60% at 20% 0%, rgba(91, 52, 222, 0.35), transparent), var(--n-900);

	--pd-radius-button: 8px;
	--pd-radius-card: 12px;
	--pd-radius-panel: 12px;
	--pd-radius-pill: 999px;

	--pd-space-4: 4px;
	--pd-space-8: 8px;
	--pd-space-12: 12px;
	--pd-space-16: 16px;
	--pd-space-24: 24px;
	--pd-space-32: 32px;
	--pd-space-48: 48px;
	--pd-space-64: 64px;
	--pd-space-96: 96px;
	--pd-space-128: 128px;

	--pd-focus-ring: var(--ring);
	--pd-shadow-soft: var(--sh-md);
	--pd-motion-fast: 120ms;
	--pd-motion-standard: 180ms;
}

html {
	background: var(--pd-paper);
	scroll-behavior: smooth;
	scroll-padding-top: 6rem;
}

body {
	background: var(--pd-paper);
	color: var(--pd-ink);
	font-family: var(--fb);
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

body::before {
	clip-path: inset(100%);
	content: "\200B";
	font-family: var(--fh);
	font-size: 1px;
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title {
	color: var(--pd-ink);
	font-family: var(--fh);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.15;
	text-transform: none;
}

a {
	color: var(--pd-ink);
	text-underline-offset: 3px;
	transition: color var(--pd-motion-fast) ease;
}

a:hover {
	color: var(--pd-violet);
}

:where(a, button, input, select, textarea, .elementor-button):focus-visible {
	box-shadow: var(--pd-focus-ring);
	outline: 0;
}

.pd-btn-primary,
.elementor-button.pd-btn-primary,
[data-pd="btn-primary"] {
	background: var(--pd-gradient-aa) !important;
	border: 0;
	border-radius: var(--pd-radius-button);
	box-shadow: none;
	color: #ffffff !important;
	display: inline-flex;
	font-family: var(--fb);
	font-size: 1rem;
	font-weight: 600;
	justify-content: center;
	line-height: 1.25;
	min-height: 44px;
	padding: 14px 22px;
	text-decoration: none;
	transition: filter var(--pd-motion-fast) ease, box-shadow var(--pd-motion-fast) ease;
}

.pd-btn-primary:hover,
.elementor-button.pd-btn-primary:hover,
[data-pd="btn-primary"]:hover {
	color: #ffffff !important;
	filter: brightness(1.05);
}

.pd-btn-secondary,
.elementor-button.pd-btn-secondary {
	background: transparent !important;
	border: 1.5px solid var(--pd-ink);
	border-radius: var(--pd-radius-button);
	color: var(--pd-ink) !important;
	display: inline-flex;
	font-family: var(--fb);
	font-size: 1rem;
	font-weight: 600;
	justify-content: center;
	line-height: 1.25;
	min-height: 44px;
	padding: 14px 22px;
	text-decoration: none;
	transition: background-color var(--pd-motion-fast) ease, color var(--pd-motion-fast) ease;
}

.pd-btn-secondary:hover,
.elementor-button.pd-btn-secondary:hover {
	background: var(--pd-ink) !important;
	color: #ffffff !important;
}

.pd-is-disabled,
.pd-is-disabled:hover {
	cursor: not-allowed;
	filter: grayscale(0.25);
	opacity: 0.5;
	pointer-events: none;
}

.pd-card {
	background: var(--pd-surface);
	border: 1px solid var(--pd-line);
	border-radius: var(--pd-radius-card);
	padding: var(--pd-space-32);
}

.pd-panel {
	background: var(--pd-surface);
	border: 1px solid var(--pd-line);
	border-radius: var(--pd-radius-panel);
	padding: var(--pd-space-32);
}

.pd-feature-row {
	align-items: flex-start;
	background: var(--pd-surface);
	border-bottom: 1px solid var(--pd-line);
	display: flex;
	gap: var(--pd-space-16);
	padding: var(--pd-space-24) 0;
}

.pd-pill-tag,
.pd-status-chip {
	border-radius: var(--pd-radius-pill);
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.5;
	min-height: 32px;
	padding: 4px 12px;
}

.pd-pill-tag {
	background: rgba(98, 71, 245, 0.1);
	color: var(--pd-violet);
}

.pd-status-chip--now {
	background: var(--pd-teal);
	color: var(--pd-ink);
}

.pd-status-chip--next {
	background: rgba(98, 71, 245, 0.1);
	color: var(--pd-violet);
}

.pd-status-chip--later {
	background: transparent;
	border: 1px solid var(--pd-ink-soft);
	color: var(--pd-ink-soft);
}

.pd-accordion {
	border-bottom: 1px solid var(--pd-line);
	padding: var(--pd-space-16) 0;
}

.pd-styleguide {
	background: var(--pd-paper);
	color: var(--pd-ink);
	padding-block: var(--pd-space-64);
}

.pd-styleguide__swatches {
	display: grid;
	gap: var(--pd-space-16);
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.pd-styleguide__swatch {
	background: var(--pd-surface);
	border: 1px solid var(--pd-line);
	border-radius: var(--pd-radius-card);
	padding: var(--pd-space-16);
}

.pd-styleguide__swatch::before {
	border-radius: var(--pd-radius-button);
	content: "";
	display: block;
	height: 56px;
	margin-bottom: var(--pd-space-12);
}

.pd-styleguide__swatch--ink::before { background: var(--pd-ink); }
.pd-styleguide__swatch--ink-soft::before { background: var(--pd-ink-soft); }
.pd-styleguide__swatch--paper::before { background: var(--pd-paper); }
.pd-styleguide__swatch--surface::before { background: var(--pd-surface); }
.pd-styleguide__swatch--line::before { background: var(--pd-line); }
.pd-styleguide__swatch--violet::before { background: var(--pd-violet); }
.pd-styleguide__swatch--teal::before { background: var(--pd-teal); }
.pd-styleguide__swatch--amber::before { background: var(--pd-amber); }
.pd-styleguide__swatch--danger::before { background: var(--pd-danger); }
.pd-styleguide__swatch--gradient::before { background: var(--pd-gradient); }

.pd-styleguide__type--display { font-family: var(--fh); font-size: clamp(40px, 5.2vw, 66px); font-weight: 700; letter-spacing: -0.035em; line-height: 1.02; }
.pd-styleguide__type--h1 { font-family: var(--fh); font-size: 2.5rem; font-weight: 600; letter-spacing: -0.025em; line-height: 1.1; }
.pd-styleguide__type--h2 { font-family: var(--fh); font-size: 1.875rem; font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; }
.pd-styleguide__type--h3 { font-family: var(--fh); font-size: 1.375rem; font-weight: 600; letter-spacing: -0.015em; line-height: 1.2; }
.pd-styleguide__type--body-lg { font-size: 1.25rem; line-height: 1.55; }
.pd-styleguide__type--body { font-size: 1.0625rem; line-height: 1.6; }
.pd-styleguide__type--small { font-size: 0.875rem; line-height: 1.5; }

@media (max-width: 767px) {
	.pd-styleguide__type--display { font-size: 2.5rem; }
	.pd-styleguide__type--h1 { font-size: 2.25rem; }
	.pd-styleguide__type--h2 { font-size: 1.75rem; }
	.pd-styleguide__type--h3 { font-size: 1.25rem; }
	.pd-styleguide { padding-block: var(--pd-space-48); }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Global site shell. Content and destinations come from Elementor templates,
 * WordPress menus, and the Customizer; these rules only provide layout and
 * interaction states. */
.pd-skip-link {
	background: var(--pd-ink);
	color: #fff !important;
	left: 16px;
	opacity: 0;
	padding: 10px 16px;
	position: absolute;
	top: 8px;
	transform: translateY(-140%);
	transition: transform var(--pd-motion-fast) ease, opacity var(--pd-motion-fast) ease;
	z-index: 10000;
}

.pd-skip-link:focus {
	opacity: 1;
	transform: translateY(0);
}

.pd-site-header {
	background: var(--pd-surface);
	border-bottom: 1px solid transparent;
	position: sticky;
	top: 0;
	transition: border-color var(--pd-motion-fast) ease, box-shadow var(--pd-motion-fast) ease;
	z-index: 1000;
}

.pd-site-header.pd-header--scrolled {
	border-bottom-color: var(--pd-line);
	box-shadow: 0 4px 16px rgba(21, 26, 58, 0.06);
}

.pd-header-inner {
	align-items: center;
	display: flex;
	height: 72px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1200px;
	padding: 0 24px;
	width: 100%;
}

.pd-logo,
.pd-footer-logo {
	align-items: center;
	display: inline-flex;
	flex-shrink: 0;
	gap: 8px;
	text-decoration: none;
}

.pd-logo { color: var(--pd-ink); }
a.pd-footer-logo, a.pd-footer-logo:hover { color: #fff !important; }
a.pd-footer-logo .pd-logo__text { color: #fff !important; }

.pd-logo__mark {
	display: block;
	height: 30px;
	width: 30px;
}

.pd-logo__text {
	font-family: var(--fh);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: -0.03em;
}

.pd-primary-nav { margin-left: auto; }

.pd-menu-panel { display: block; }

.pd-primary-menu,
.pd-footer-menu,
.pd-footer-legal-menu {
	align-items: center;
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pd-primary-menu { gap: 8px; }

.pd-primary-menu li a,
.pd-footer-menu li a,
.pd-footer-legal-menu li a {
	align-items: center;
	display: inline-flex;
	min-height: 44px;
	text-decoration: none;
}

.pd-primary-menu li a {
	color: var(--pd-ink-soft);
	font-size: 1rem;
	font-weight: 500;
	padding: 10px 12px;
}

.pd-primary-menu li a:hover,
.pd-primary-menu li.current-menu-item > a,
.pd-primary-menu li.current_page_item > a {
	color: var(--pd-ink);
}

.pd-primary-menu li.current-menu-item > a,
.pd-primary-menu li.current_page_item > a {
	background-image: var(--pd-gradient);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 100% 2px;
}

.pd-primary-menu li.pd-menu-sign-in { margin-left: 16px; }

.pd-primary-menu li.pd-menu-demo > a,
.pd-primary-menu li.pd-menu-start-free > a {
	border-radius: var(--pd-radius-button);
	font-weight: 600;
	justify-content: center;
	padding: 10px 16px;
}

.pd-primary-menu li.pd-menu-demo > a {
	border: 1.5px solid var(--pd-ink);
	color: var(--pd-ink);
}

.pd-primary-menu li.pd-menu-demo > a:hover {
	background: var(--pd-ink);
	color: #fff;
}

.pd-primary-menu li.pd-menu-start-free > a {
	background: var(--pd-gradient-aa);
	color: #fff;
}

.pd-primary-menu li.pd-menu-start-free > a:hover {
	color: #fff;
	filter: brightness(1.05);
}

.pd-menu-toggle { display: none; }

.pd-site-footer {
	background: var(--pd-gradient-dark-wash);
	color: rgba(255, 255, 255, 0.7);
	padding: 72px 24px 24px;
}

.pd-footer-inner,
.pd-footer-bottom {
	margin: 0 auto;
	max-width: 1200px;
}

.pd-footer-inner {
	display: grid;
	gap: 48px 32px;
	grid-template-columns: 1.7fr repeat(3, 1fr);
}

.pd-footer-brand p {
	line-height: 1.5;
	margin: 20px 0 0;
	max-width: 32ch;
}

.pd-footer-column h2 {
	color: #fff;
	font-family: var(--fb);
	font-size: 0.875rem;
	font-weight: 600;
	margin: 0 0 12px;
}

.pd-footer-menu,
.pd-footer-legal-menu {
	align-items: flex-start;
	flex-direction: column;
	gap: 2px;
}

.pd-footer-menu li a,
.pd-footer-legal-menu li a {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.9375rem;
	padding: 5px 0;
}

.pd-footer-menu li a:hover,
.pd-footer-legal-menu li a:hover {
	color: #fff;
}

.pd-footer-bottom {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-top: 64px;
	padding-top: 20px;
}

.pd-footer-bottom p {
	font-size: 0.875rem;
	margin: 0;
}

.pd-footer-legal-menu { flex-direction: row; gap: 16px; }

.pd-page-content { min-height: 40vh; }

@media (max-width: 1023px) {
	.pd-header-inner { height: 64px; }
	.pd-menu-toggle {
		align-items: center;
		background: transparent;
		border: 0;
		color: var(--pd-ink);
		display: inline-flex;
		height: 44px;
		justify-content: center;
		padding: 8px;
		width: 44px;
	}

	.pd-menu-toggle__icon,
	.pd-menu-toggle__icon span {
		display: block;
	}

	.pd-menu-toggle__icon { width: 24px; }
	.pd-menu-toggle__icon span { background: currentColor; height: 2px; margin: 5px 0; width: 24px; }

	.pd-menu-panel {
		background: var(--pd-surface);
		bottom: 0;
		left: 0;
		opacity: 0;
		pointer-events: none;
		position: fixed;
		right: 0;
		top: 64px;
		transform: translateX(100%);
		transition: opacity var(--pd-motion-standard) ease, transform var(--pd-motion-standard) ease;
		visibility: hidden;
		z-index: 999;
	}

	.pd-menu-panel.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: translateX(0);
		visibility: visible;
	}

	.pd-primary-menu {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		padding: 24px;
	}

	.pd-primary-menu li.pd-menu-sign-in { margin-left: 0; }
	.pd-primary-menu li a { padding: 12px 0; width: 100%; }
	.pd-primary-menu li.current-menu-item > a,
	.pd-primary-menu li.current_page_item > a { background-size: 100% 2px; }
	.pd-primary-menu li.pd-menu-demo,
	.pd-primary-menu li.pd-menu-start-free { margin-top: 8px; }
	.pd-primary-menu li.pd-menu-demo > a,
	.pd-primary-menu li.pd-menu-start-free > a { padding: 14px 16px; }
	.pd-primary-menu li.pd-menu-demo { margin-top: auto; }
	.pd-primary-menu li.pd-menu-demo > a,
	.pd-primary-menu li.pd-menu-start-free > a { justify-content: center; }
	.pd-menu-panel.is-open .pd-primary-menu { min-height: calc(100vh - 64px); }
	body.pd-menu-open { overflow: hidden; }
	.pd-footer-inner { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
	.pd-footer-inner { grid-template-columns: 1fr; }
	.pd-footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; margin-top: 48px; }
	.pd-footer-legal-menu { flex-wrap: wrap; }
}

/* Home hero (TASK-005). Layout only; every string lives in Elementor. */
.pd-hero {
	background: var(--pd-paper);
	padding: var(--pd-space-96) 0 var(--pd-space-64);
}

.pd-hero__grid {
	align-items: center;
	display: grid !important;
	gap: var(--pd-space-48);
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	margin-inline: auto;
	max-width: 1200px;
	padding-inline: var(--pd-space-24);
	width: 100%;
}

.pd-hero__copy {
	align-items: flex-start;
	display: flex !important;
	flex-direction: column;
	gap: var(--pd-space-24) !important;
}

.pd-hero__title .elementor-heading-title {
	font-size: 4.25rem;
	font-weight: 700;
	line-height: 1.05;
	margin: 0;
}

.pd-hero__sub,
.pd-hero__sub p {
	color: var(--pd-ink-soft);
	font-size: 1.25rem;
	line-height: 1.55;
	margin: 0;
	max-width: 72ch;
}

.pd-hero__actions {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: var(--pd-space-16) !important;
}

.pd-hero__actions .elementor-button,
.pd-hero__actions a {
	align-items: center;
	border-radius: var(--pd-radius-button);
	display: inline-flex;
	font-size: 1rem;
	font-weight: 600;
	justify-content: center;
	min-height: 48px;
	padding: 14px 22px;
	text-decoration: none;
}

.pd-hero__micro,
.pd-hero__micro p {
	color: var(--pd-ink-soft);
	font-size: 0.875rem;
	line-height: 1.5;
	margin: 0;
}

.pd-hero__visual {
	min-width: 0;
}

/* Hero visual: plays once (max 2.5s); final frame is the resting state. */
.pd-hv {
	align-items: center;
	display: grid;
	gap: var(--pd-space-8);
	grid-template-columns: minmax(0, 1fr) auto;
	overflow: hidden;
	padding: var(--pd-space-8);
}

.pd-hv__svg {
	display: block;
	height: auto;
	width: 100%;
}

.pd-hv-stop-a { stop-color: var(--pd-violet); }
.pd-hv-stop-b { stop-color: var(--pd-teal); }

.pd-hv-stream { opacity: 0.55; stroke-dasharray: 1; stroke-dashoffset: 0; stroke-width: 2; }
.pd-hv-trunk { stroke-dasharray: 1; stroke-dashoffset: 0; stroke-width: 8; }

.pd-hv-tile { transform-box: fill-box; transform-origin: center; }
.pd-hv-tile rect:first-child { fill: var(--pd-surface); stroke: var(--pd-line); stroke-width: 1; }
.pd-hv-glyph { fill: var(--pd-ink-soft); opacity: 0.45; }

.pd-hv-agent { transform-box: fill-box; transform-origin: center; }
.pd-hv-agent circle { fill: var(--pd-ink); stroke-width: 5; }
.pd-hv-agent text {
	fill: var(--pd-surface);
	font-family: var(--fb);
	font-size: 15px;
	font-weight: 600;
}

.pd-hv-chips {
	display: flex;
	flex-direction: column;
	gap: var(--pd-space-12);
	list-style: none;
	margin: 0;
	padding: 0;
}

.pd-hv-chip {
	align-items: center;
	background: var(--pd-surface);
	border: 1px solid var(--pd-line);
	border-radius: var(--pd-radius-pill);
	color: var(--pd-ink);
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	gap: var(--pd-space-8);
	line-height: 1.5;
	margin: 0;
	padding: 6px 14px;
	white-space: nowrap;
}

.pd-hv-chip::before {
	background: var(--pd-teal);
	border-radius: 50%;
	content: "";
	height: 8px;
	width: 8px;
}

@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
	.pd-hv-tile { animation: pd-hv-tile 1.2s cubic-bezier(0.2, 0.7, 0.2, 1) both; animation-delay: calc(var(--i) * 40ms); }
	.pd-hv-stream { animation: pd-hv-draw 1s ease-out both; animation-delay: calc(0.4s + var(--i) * 30ms); }
	.pd-hv-trunk { animation: pd-hv-draw 0.5s ease-out both; animation-delay: 1s; }
	.pd-hv-agent { animation: pd-hv-pop 0.4s ease-out both; animation-delay: 1.4s; }
	.pd-hv-chip { animation: pd-hv-chip 0.25s ease-out both; animation-delay: calc(1.8s + var(--i) * 0.18s); }
}

@keyframes pd-hv-tile {
	from { opacity: 0.4; transform: translate(var(--dx), var(--dy)) rotate(var(--r)); }
	to { opacity: 1; transform: none; }
}
@keyframes pd-hv-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes pd-hv-pop { from { opacity: 0; transform: scale(0.6); } to { opacity: 1; transform: none; } }
@keyframes pd-hv-chip { from { opacity: 0; transform: translateX(-8px); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
	.pd-hv *,
	[data-pd="hero-visual"] * {
		animation: none !important;
		transition: none !important;
	}
}

/* Integration strip */
.pd-integrations {
	background: var(--pd-paper);
	padding: var(--pd-space-32) 0 var(--pd-space-64);
}

.pd-integrations__inner {
	border-top: 1px solid var(--pd-line);
	display: flex !important;
	flex-direction: column;
	gap: var(--pd-space-24) !important;
	margin-inline: auto;
	max-width: 1200px;
	padding: var(--pd-space-32) var(--pd-space-24) 0;
	width: 100%;
}

.pd-integrations__label .elementor-heading-title {
	color: var(--pd-ink-soft);
	font-family: var(--fb);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	margin: 0;
}

.pd-integration-list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--pd-space-24) var(--pd-space-48);
	list-style: none;
	margin: 0;
	padding: 0;
}

.pd-integration-item img {
	display: block;
	filter: grayscale(1);
	height: 32px;
	opacity: 0.7;
	transition: filter var(--pd-motion-fast) ease, opacity var(--pd-motion-fast) ease;
	width: auto;
}

.pd-integration-item:hover img,
.pd-integration-item:focus-within img {
	filter: none;
	opacity: 1;
}

.pd-integration-item--svg { align-items: center; display: inline-flex; gap: var(--pd-space-12); white-space: nowrap; }
.pd-integration-item--svg svg { display: block; height: 36px; width: 36px; object-fit: contain; filter: grayscale(1); opacity: 0.7; transition: filter var(--pd-motion-fast) ease, opacity var(--pd-motion-fast) ease; }
.pd-integration-item--svg:hover svg { filter: none; opacity: 1; }
.pd-integration-item__name { color: var(--pd-ink-soft); font-size: 0.95rem; font-weight: 500; transition: color var(--pd-motion-fast) ease; }
.pd-integration-item--svg:hover .pd-integration-item__name { color: var(--pd-ink); }

.pd-integrations__empty {
	color: var(--pd-ink-soft);
	font-size: 0.875rem;
	margin: 0;
}

@media (max-width: 1023px) {
	.pd-hero__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
	.pd-hero { padding: var(--pd-space-64) 0 var(--pd-space-48); }
	.pd-hero__title .elementor-heading-title { font-size: 2.5rem; }
	.pd-hero__sub, .pd-hero__sub p { font-size: 1.125rem; }
	.pd-hero__actions { width: 100%; }
	.pd-hero__actions .elementor-widget-html, .pd-hero__actions a { width: 100%; }
	.pd-hv { grid-template-columns: minmax(0, 1fr); }
	.pd-hv-chips { flex-flow: row wrap; }
	.pd-integrations { padding-bottom: var(--pd-space-48); }
}

/* Specificity fixes against Elementor kit defaults (containers, headings, buttons). */
.elementor .pd-hero { padding: var(--pd-space-96) 0 var(--pd-space-64) !important; }
.elementor .pd-hero__grid { padding: 0 var(--pd-space-24) !important; }
.elementor .pd-hero__copy,
.elementor .pd-hero__visual,
.elementor .pd-hero__actions,
.elementor .pd-integrations__inner { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; padding-left: 0 !important; padding-right: 0 !important; }
.elementor .pd-integrations { padding: var(--pd-space-32) 0 var(--pd-space-64) !important; }
.elementor .pd-integrations__inner { padding: var(--pd-space-32) var(--pd-space-24) 0 !important; }
.elementor .pd-hero__copy .elementor-widget,
.elementor .pd-hero__actions .elementor-widget { margin: 0 !important; }
.elementor .pd-hero__title .elementor-heading-title { color: var(--pd-ink); }
.elementor .pd-integrations__label .elementor-heading-title { color: var(--pd-ink-soft); }
.elementor .pd-hero__actions a.pd-btn-secondary { border: 1.5px solid var(--pd-ink) !important; }
@media (max-width: 767px) {
	.elementor .pd-hero { padding: var(--pd-space-64) 0 var(--pd-space-48) !important; }
	.elementor .pd-integrations { padding-bottom: var(--pd-space-48) !important; }
}
.elementor .pd-hero__grid,
.elementor .pd-integrations__inner { box-sizing: border-box; margin-left: auto !important; margin-right: auto !important; max-width: 1200px !important; width: 100% !important; }

/* Home: the problem (dark section 1). Tokens only. */
.elementor .pd-problem {
	background: radial-gradient(80% 60% at 20% 0%, rgba(98, 71, 245, 0.35), transparent), var(--pd-ink);
	color: var(--pd-surface);
	padding: var(--pd-space-96) 0 !important;
}

.elementor .pd-problem__grid {
	box-sizing: border-box;
	display: grid !important;
	gap: var(--pd-space-48) var(--pd-space-64);
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1200px !important;
	padding: 0 var(--pd-space-24) !important;
	width: 100% !important;
}

.elementor .pd-problem__heading .elementor-heading-title {
	color: var(--pd-surface);
	font-family: var(--fh);
	font-size: 2.25rem;
	line-height: 1.15;
	margin: 0;
}

.elementor .pd-problem__graphic { align-self: start; grid-column: 2; grid-row: 2; justify-self: center; margin: 0 !important; max-height: 420px; overflow: hidden; }
.pd-problem__visual { max-width: 460px; width: 100%; }

.elementor .pd-problem__rows {
	display: flex !important;
	flex-direction: column;
	gap: 0 !important;
	grid-row: 1 / span 3;
	padding: 0 !important;
}

.elementor .pd-problem__row {
	align-items: flex-start;
	border-top: 1px solid var(--pd-ink-soft);
	display: flex !important;
	flex-direction: row !important;
	gap: var(--pd-space-24) !important;
	padding: var(--pd-space-32) 0 !important;
}

.elementor .pd-problem__row:last-child { border-bottom: 1px solid var(--pd-ink-soft); }

.elementor .pd-problem__row > .elementor-widget-html { flex: 0 0 auto; margin: 0 !important; width: auto; }

.pd-problem__icon {
	align-items: center;
	color: var(--pd-teal);
	display: inline-flex;
	height: 24px;
	margin-top: 4px;
	width: 24px;
}

.elementor .pd-problem__text { flex: 1 1 auto; gap: var(--pd-space-8) !important; padding: 0 !important; }
.elementor .pd-problem__text .elementor-widget { margin: 0 !important; }

.elementor .pd-problem__title .elementor-heading-title {
	color: var(--pd-surface);
	font-family: var(--fh);
	font-size: 1.5rem;
	line-height: 1.25;
	margin: 0;
}

.elementor .pd-problem__body,
.elementor .pd-problem__body p {
	color: var(--pd-line);
	font-size: 1.0625rem;
	line-height: 1.6;
	margin: 0;
}

@media (max-width: 1023px) {
	.elementor .pd-problem__grid { grid-template-columns: minmax(0, 1fr); }
	.elementor .pd-problem__graphic { display: none !important; }
	.elementor .pd-problem__rows { grid-row: auto; }
}

@media (max-width: 767px) {
	.elementor .pd-problem { padding: var(--pd-space-64) 0 !important; }
	.elementor .pd-problem__heading .elementor-heading-title { font-size: 1.875rem; }
}

@media (max-width: 767px) {
	.elementor .pd-problem__row { flex-direction: row !important; flex-wrap: nowrap !important; gap: var(--pd-space-16) !important; padding: var(--pd-space-24) 0 !important; }
	.elementor .pd-problem__row > .elementor-widget-html { width: auto !important; }
	.elementor .pd-problem__text { min-width: 0; }
}

/* Problem visual: scattered-nodes SVG (fills empty left column space) */
.pd-pv-wrap { margin-top: var(--pd-space-32); }
.pd-pv { display: block; height: auto; max-width: 100%; width: 100%; }
.pd-pv-node { transform-box: fill-box; transform-origin: center; }
@media (prefers-reduced-motion: no-preference) {
	.pd-pv-node {
		animation: pd-pv-float 1.2s cubic-bezier(0.2, 0.7, 0.2, 1) both;
		animation-delay: calc(var(--i) * 80ms);
	}
	.pd-pv-lines line {
		stroke-dashoffset: 20;
		animation: pd-pv-dash 1.5s ease-out both;
		animation-delay: calc(0.6s + var(--i) * 60ms);
	}
	.pd-pv-pulse {
		animation: pd-pv-glow 2s ease-in-out infinite alternate;
		animation-delay: calc(var(--i) * 0.7s);
	}
}
@keyframes pd-pv-float {
	from { opacity: 0; transform: translate(var(--dx, 0), var(--dy, 0)); }
	to { opacity: 1; transform: translate(0, 0); }
}
@keyframes pd-pv-dash {
	from { stroke-dashoffset: 20; opacity: 0; }
	to { stroke-dashoffset: 0; opacity: 0.25; }
}
@keyframes pd-pv-glow {
	from { opacity: 0.4; r: 2.5; }
	to { opacity: 0.9; r: 4; }
}
@media (max-width: 1023px) {
	.pd-pv-wrap { display: none; }
}

/* Home: how it works (TASK-007). Surface background, tokens only. */
.elementor .pd-how {
	background: var(--pd-surface);
	padding: var(--pd-space-96) 0 !important;
}
.elementor .pd-how__inner {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column !important;
	gap: var(--pd-space-64) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1200px !important;
	padding: 0 var(--pd-space-24) !important;
	width: 100% !important;
}
.elementor .pd-how__heading .elementor-heading-title {
	color: var(--pd-ink);
	font-family: var(--fh);
	font-size: 2.5rem;
	line-height: 1.15;
	margin: 0;
}
.elementor .pd-how__steps {
	display: grid !important;
	gap: var(--pd-space-32);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	position: relative;
}
.elementor .pd-how__step {
	display: flex !important;
	flex-direction: column !important;
	gap: var(--pd-space-16) !important;
	padding: 0 !important;
	position: relative;
}
.elementor .pd-how__step .elementor-widget { margin: 0 !important; width: auto; }
/* Connecting line: runs from each number to the next number. */
.elementor .pd-how__step:not(:last-child)::after {
	background: var(--pd-gradient);
	content: "";
	height: 2px;
	left: 48px;
	position: absolute;
	right: calc(-1 * var(--pd-space-32));
	top: 20px;
}
.pd-how__num {
	align-items: center;
	background: var(--pd-gradient);
	border-radius: var(--pd-radius-pill);
	color: var(--pd-surface);
	display: inline-flex;
	font-family: var(--fh);
	font-weight: 600;
	height: 40px;
	justify-content: center;
	position: relative;
	width: 40px;
	z-index: 1;
}
.pd-how__art { color: var(--pd-violet); display: inline-flex; }
.elementor .pd-how__title .elementor-heading-title {
	color: var(--pd-ink);
	font-family: var(--fh);
	font-size: 1.5rem;
	line-height: 1.25;
	margin: 0;
}
.elementor .pd-how__body,
.elementor .pd-how__body p {
	color: var(--pd-ink-soft);
	font-size: 1.0625rem;
	line-height: 1.6;
	margin: 0;
}
@media (max-width: 1023px) {
	.elementor .pd-how__steps { gap: var(--pd-space-48) var(--pd-space-32); grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.elementor .pd-how__step::after { display: none !important; }
}
/* Mobile: vertical timeline with a line down the left. */
@media (max-width: 767px) {
	.elementor .pd-how { padding: var(--pd-space-64) 0 !important; }
	.elementor .pd-how__heading .elementor-heading-title { font-size: 1.875rem; }
	.elementor .pd-how__steps { display: flex !important; flex-direction: column !important; gap: var(--pd-space-32); }
	.elementor .pd-how__step { padding-left: var(--pd-space-64) !important; }
	.elementor .pd-how__step .pd-how__num,
	.elementor .pd-how__step .elementor-widget-html:first-child { left: 0; position: absolute; top: 0; }
	.elementor .pd-how__step:not(:last-child)::after {
		display: block !important;
		height: auto;
		bottom: calc(-1 * var(--pd-space-32));
		left: 19px;
		right: auto;
		top: 40px;
		width: 2px;
	}
}

/* Home: workflows + features (TASK-008). Tokens only. */
.elementor .pd-wf { background: var(--pd-paper); padding: var(--pd-space-96) 0 !important; }
.elementor .pd-wf__inner {
	align-items: center;
	box-sizing: border-box;
	display: grid !important;
	gap: var(--pd-space-64);
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1200px !important;
	padding: 0 var(--pd-space-24) !important;
	width: 100% !important;
}
.elementor .pd-wf__text { display: flex !important; flex-direction: column !important; gap: var(--pd-space-24) !important; min-width: 0; }
.elementor .pd-wf__heading .elementor-heading-title,
.elementor .pd-feats__heading .elementor-heading-title {
	color: var(--pd-ink);
	font-family: var(--fh);
	font-size: 2.5rem;
	line-height: 1.15;
	margin: 0;
}
.elementor .pd-wf__body,
.elementor .pd-wf__body p,
.elementor .pd-wf__bullets li {
	color: var(--pd-ink-soft);
	font-size: 1.0625rem;
	line-height: 1.6;
	margin: 0;
}
.elementor .pd-wf__bullets ul { display: grid; gap: var(--pd-space-12); list-style: none; margin: 0; padding: 0; }
.elementor .pd-wf__bullets li { padding-left: var(--pd-space-32); position: relative; }
.elementor .pd-wf__bullets li::before {
	background: var(--pd-gradient);
	border-radius: var(--pd-radius-pill);
	content: "";
	height: 10px;
	left: 4px;
	position: absolute;
	top: 0.6em;
	width: 10px;
}
.pd-flow { color: var(--pd-line); min-width: 0; position: relative; }
.pd-flow__list { display: flex; flex-direction: column; gap: var(--pd-space-24); list-style: none; margin: 0; padding: 0; position: relative; z-index: 1; }
.pd-flow__node {
	background: var(--pd-surface);
	border: 1px solid var(--pd-line);
	border-radius: var(--pd-radius-card);
	cursor: help;
	display: flex;
	flex-direction: column;
	gap: var(--pd-space-4);
	padding: var(--pd-space-16) var(--pd-space-24);
	position: relative;
}
.pd-flow__node--master { background: var(--pd-ink); border-color: var(--pd-ink); margin: 0 var(--pd-space-32); }
.pd-flow__node--agent { margin: 0 var(--pd-space-64); }
.pd-flow__kicker { color: var(--pd-ink-soft); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.04em; }
.pd-flow__label { color: var(--pd-ink); font-family: var(--fh); font-size: 1.25rem; }
.pd-flow__node--master .pd-flow__kicker { color: var(--pd-line); }
.pd-flow__node--master .pd-flow__label { color: var(--pd-surface); }
.pd-flow__node:focus-visible { box-shadow: var(--pd-focus-ring); outline: none; }
.pd-flow__tip {
	background: var(--pd-ink);
	border-radius: var(--pd-radius-button);
	bottom: calc(100% + var(--pd-space-8));
	box-shadow: var(--pd-shadow-soft);
	color: var(--pd-surface);
	font-size: 0.9375rem;
	left: 0;
	line-height: 1.45;
	opacity: 0;
	padding: var(--pd-space-8) var(--pd-space-12);
	pointer-events: none;
	position: absolute;
	transition: opacity var(--pd-motion-fast);
	visibility: hidden;
	width: max-content;
	max-width: 280px;
	z-index: 5;
}
.pd-flow__node:hover .pd-flow__tip,
.pd-flow__node:focus .pd-flow__tip,
.pd-flow__node:focus-within .pd-flow__tip { opacity: 1; visibility: visible; }
.pd-flow__node--master .pd-flow__tip { background: var(--pd-surface); color: var(--pd-ink); border: 1px solid var(--pd-line); }
.pd-flow__line { bottom: var(--pd-space-16); color: var(--pd-teal); height: calc(100% - var(--pd-space-32)); left: 50%; position: absolute; top: var(--pd-space-16); width: 8px; z-index: 0; }
@media (prefers-reduced-motion: reduce) { .pd-flow__tip { transition: none; } }

.elementor .pd-feats { background: var(--pd-surface); padding: var(--pd-space-96) 0 !important; }
.elementor .pd-feats__inner {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column !important;
	gap: var(--pd-space-48) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1200px !important;
	padding: 0 var(--pd-space-24) !important;
	width: 100% !important;
}
.elementor .pd-feats__grid { display: grid !important; gap: var(--pd-space-24); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.elementor .pd-feat {
	background: var(--pd-paper);
	border: 1px solid var(--pd-line);
	border-radius: var(--pd-radius-card);
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column !important;
	gap: var(--pd-space-12) !important;
	grid-column: span 1;
	padding: var(--pd-space-24) !important;
}
.elementor .pd-feat .elementor-widget { margin: 0 !important; width: auto; }
.elementor .pd-feat--lg { background: var(--pd-gradient-dark-wash); border-color: var(--pd-ink); grid-column: span 2; justify-content: flex-end; min-height: 280px; padding: var(--pd-space-32) !important; }
.pd-feat__icon { color: var(--pd-violet); display: inline-flex; }
.elementor .pd-feat--lg .pd-feat__icon { color: var(--pd-teal); }
.elementor .pd-feat__title .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 1.375rem; line-height: 1.25; margin: 0; }
.elementor .pd-feat--lg .pd-feat__title .elementor-heading-title { color: var(--pd-surface); font-size: 1.75rem; }
.elementor .pd-feat__body, .elementor .pd-feat__body p { color: var(--pd-ink-soft); font-size: 1rem; line-height: 1.55; margin: 0; }
.elementor .pd-feat--lg .pd-feat__body, .elementor .pd-feat--lg .pd-feat__body p { color: var(--pd-line); font-size: 1.0625rem; }
@media (max-width: 1023px) {
	.elementor .pd-wf__inner { grid-template-columns: minmax(0, 1fr); }
	.elementor .pd-feats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.elementor .pd-wf, .elementor .pd-feats { padding: var(--pd-space-64) 0 !important; }
	.elementor .pd-wf__heading .elementor-heading-title, .elementor .pd-feats__heading .elementor-heading-title { font-size: 1.875rem; }
	.elementor .pd-feats__grid { grid-template-columns: minmax(0, 1fr); }
	.elementor .pd-feat--lg { grid-column: span 1; min-height: 0; }
	.pd-flow__node--master, .pd-flow__node--agent { margin: 0 var(--pd-space-16); }
	.pd-flow__tip { max-width: 220px; }
}

/* TASK-009: research section hidden at all widths while DEC-005 is deferred */
.pd-research--deferred { display: none !important; }

/* Home: savings calculator section (TASK-010). Widget styles live in prodexter-calculator. */
.elementor .pd-savings { background: var(--pd-paper); padding: var(--pd-space-96) 0 !important; }
.elementor .pd-savings__inner { box-sizing: border-box; margin-left: auto !important; margin-right: auto !important; max-width: 1200px !important; padding: 0 var(--pd-space-24) !important; width: 100% !important; }
@media (max-width: 767px) { .elementor .pd-savings { padding: var(--pd-space-64) 0 !important; } }

/* Calculator sidebar: wraps result + trust panel, sticks while scrolling. */
.pd-calc__sidebar { display: flex; flex-direction: column; gap: var(--pd-space-24); position: sticky; top: var(--pd-space-32); }
.pd-calc__sidebar .pd-calc__result { position: static; }

/* Trust / social proof panel beside calculator. */
.pd-calc__trust { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--r-lg); box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-16); padding: var(--pd-space-24); }
.pd-calc__trust-title { color: var(--pd-ink); font-family: var(--fh); font-size: 1.125rem; font-weight: 600; line-height: 1.3; margin: 0; }
.pd-calc__trust-list { display: flex; flex-direction: column; gap: var(--pd-space-16); list-style: none; margin: 0; padding: 0; }
.pd-calc__trust-item { align-items: flex-start; display: flex; gap: var(--pd-space-12); }
.pd-calc__trust-icon { flex-shrink: 0; height: 22px; width: 22px; margin-top: 2px; }
.pd-calc__trust-item div { display: flex; flex-direction: column; gap: 2px; }
.pd-calc__trust-item strong { color: var(--pd-ink); font-size: 0.9375rem; font-weight: 600; }
.pd-calc__trust-item span { color: var(--pd-ink-soft); font-size: 0.8125rem; line-height: 1.45; }
.pd-calc__trust-connectors { border-top: 1px solid var(--pd-line); display: flex; flex-direction: column; gap: var(--pd-space-8); padding-top: var(--pd-space-16); }
.pd-calc__trust-conn-label { color: var(--pd-ink-soft); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.05em; margin: 0; text-transform: uppercase; }
.pd-calc__trust-logos { align-items: center; display: flex; gap: var(--pd-space-12); }
.pd-calc__trust-logo { align-items: center; display: flex; justify-content: center; }
.pd-calc__trust-logo svg { height: 24px; width: 24px; opacity: 0.7; }
@media (max-width: 900px) { .pd-calc__sidebar { position: static; } }

/* Home: product roadmap (TASK-011). Tokens only. */
.elementor .pd-roadmap { background: var(--pd-paper); padding: var(--pd-space-96) 0 !important; }
.elementor .pd-roadmap__inner { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-16) !important; margin-left: auto !important; margin-right: auto !important; max-width: 1200px !important; padding: 0 var(--pd-space-24) !important; width: 100% !important; }
.elementor .pd-roadmap__title .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 2.5rem; line-height: 1.15; margin: 0; }
.elementor .pd-roadmap__sub, .elementor .pd-roadmap__sub p { color: var(--pd-ink-soft); font-size: 1.125rem; line-height: 1.55; margin: 0; }
.pd-roadmap__tablist { display: none; }
.pd-roadmap__panels { display: grid; gap: var(--pd-space-24); grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--pd-space-24); }
.pd-roadmap__panel { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); padding: var(--pd-space-24); }
.pd-roadmap__col-title { font-size: 1rem; margin: 0 0 var(--pd-space-16); }
.pd-roadmap__chip { border: 1.5px solid transparent; border-radius: var(--pd-radius-pill); display: inline-block; font-size: 0.875rem; font-weight: 600; line-height: 1; padding: var(--pd-space-8) var(--pd-space-12); }
.pd-roadmap__chip--now { background: var(--pd-teal); color: var(--pd-ink); }
.pd-roadmap__chip--next { background: var(--pd-violet); color: var(--pd-surface); }
.pd-roadmap__chip--later { background: transparent; border-color: var(--pd-ink-soft); color: var(--pd-ink-soft); }
.pd-roadmap__list { display: flex; flex-direction: column; gap: var(--pd-space-16); list-style: none; margin: 0; padding: 0; }
.pd-roadmap__item { border-top: 1px solid var(--pd-line); padding-top: var(--pd-space-16); }
.pd-roadmap__item-title { color: var(--pd-ink); font-size: 1.0625rem; line-height: 1.3; margin: 0 0 var(--pd-space-4); }
.pd-roadmap__item-desc { color: var(--pd-ink-soft); font-size: 1rem; line-height: 1.55; margin: 0; }
@media (max-width: 767px) {
	.elementor .pd-roadmap { padding: var(--pd-space-64) 0 !important; }
	.elementor .pd-roadmap__title .elementor-heading-title { font-size: 1.875rem; }
	.pd-roadmap__tablist { border-bottom: 1px solid var(--pd-line); display: flex; gap: var(--pd-space-8); margin-top: var(--pd-space-24); }
	.pd-roadmap__tablist .pd-roadmap__tab { background: transparent !important; border: 0; border-bottom: 3px solid transparent; color: var(--pd-ink-soft) !important; cursor: pointer; font: inherit; font-weight: 600; min-height: 44px; padding: var(--pd-space-8) var(--pd-space-16); }
	.pd-roadmap__tablist .pd-roadmap__tab[aria-selected="true"] { border-bottom-color: var(--pd-violet); color: var(--pd-ink) !important; }
	.pd-roadmap__tab:focus-visible { box-shadow: var(--pd-focus-ring); outline: none; }
	.pd-roadmap__panels { display: block; margin-top: var(--pd-space-16); }
	.pd-roadmap__panel { display: none; }
	.pd-roadmap__panel.is-active { display: block; }
	.pd-roadmap__col-title { display: none; }
}

/* Booking block and final CTA band (TASK-012). Tokens only. */
.elementor .pd-final-cta { background: var(--n-0); border-top: 3px solid transparent; border-image: var(--pd-gradient) 1; padding: var(--pd-space-96) 0 !important; }
.pd-final-cta__inner { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-24); margin: 0 auto; max-width: 1200px; padding: 0 var(--pd-space-24); width: 100%; }
.pd-final-cta__title { color: var(--pd-ink); font-family: var(--fh); font-size: 2.5rem; line-height: 1.15; margin: 0; }
.pd-final-cta__body { color: var(--pd-ink-soft); font-size: 1.125rem; line-height: 1.55; margin: 0; max-width: 40rem; }
.pd-final-cta__actions { display: flex; flex-wrap: wrap; gap: var(--pd-space-16); }
.pd-final-cta .pd-btn-secondary, .pd-final-cta .elementor-button.pd-btn-secondary { border-color: var(--n-300); color: var(--pd-ink) !important; }
.pd-final-cta .pd-btn-secondary:hover, .pd-final-cta .elementor-button.pd-btn-secondary:hover { background: var(--n-50) !important; color: var(--pd-ink) !important; }
.elementor .pd-booking { background: var(--pd-paper); padding: var(--pd-space-96) 0 !important; scroll-margin-top: var(--pd-space-96); }
.pd-booking__inner { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-16); margin: 0 auto; max-width: 1200px; padding: 0 var(--pd-space-24); width: 100%; }
.pd-booking__title { color: var(--pd-ink); font-family: var(--fh); font-size: 2.5rem; line-height: 1.15; margin: 0; }
.pd-booking__duration { color: var(--pd-ink-soft); font-size: 1.125rem; margin: 0; }
.pd-booking__list { color: var(--pd-ink); line-height: 1.55; margin: 0; padding-left: var(--pd-space-24); }
.pd-booking__actions { align-items: center; display: flex; flex-wrap: wrap; gap: var(--pd-space-24); }
.pd-booking__actions button.pd-btn-primary { cursor: pointer; }
.pd-booking__fallback { color: var(--pd-ink); font-weight: 600; text-decoration: underline; }
.pd-booking__note { color: var(--pd-ink-soft); font-size: 0.875rem; margin: 0; }
.pd-booking__embed iframe { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); min-height: 700px; width: 100%; }
@media (max-width: 767px) {
	.elementor .pd-final-cta, .elementor .pd-booking { padding: var(--pd-space-64) 0 !important; }
	.pd-final-cta__title, .pd-booking__title { font-size: 1.875rem; }
}

/* Use cases (TASK-014). Tokens only. */
.elementor .pd-uc-archive-head, .elementor .pd-uc-archive, .elementor .pd-uc-home { background: var(--pd-paper); }
.elementor .pd-uc-archive-head { padding: var(--pd-space-96) 0 var(--pd-space-32) !important; }
.elementor .pd-uc-archive { padding: 0 0 var(--pd-space-96) !important; }
.elementor .pd-uc-home { padding: 0 !important; }
.elementor .pd-uc-home:has(.pd-uc-home__inner) { padding: var(--pd-space-64) 0 !important; }
.elementor .pd-uc-archive-head__inner, .elementor .pd-uc-archive__inner { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-24) !important; margin-left: auto !important; margin-right: auto !important; max-width: 1200px !important; padding: 0 var(--pd-space-24) !important; width: 100% !important; }
.elementor .pd-uc-archive-head__title .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 3rem; line-height: 1.1; margin: 0; }
.elementor .pd-uc-archive-head__intro, .elementor .pd-uc-archive-head__intro p, .pd-uc-home__sub { color: var(--pd-ink-soft); font-size: 1.125rem; line-height: 1.55; margin: 0; max-width: 42rem; }
.pd-uc-home__inner { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-24); margin: 0 auto; max-width: 1200px; padding: 0 var(--pd-space-24); width: 100%; }
.pd-uc-home__title { color: var(--pd-ink); font-family: var(--fh); font-size: 2.5rem; line-height: 1.15; margin: 0; }
.pd-uc-home__inner .pd-uc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pd-uc-filters { display: flex; flex-wrap: wrap; gap: var(--pd-space-8); }
.pd-uc-filter { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-pill); color: var(--pd-ink); display: inline-flex; font-size: 0.9375rem; font-weight: 500; min-height: 44px; align-items: center; padding: 0 var(--pd-space-16); text-decoration: none; transition: background-color var(--pd-motion-fast) ease, color var(--pd-motion-fast) ease; }
.pd-uc-filter:hover { border-color: var(--pd-violet); color: var(--pd-violet); }
.pd-uc-filter.is-active { background: var(--pd-ink); border-color: var(--pd-ink); color: var(--pd-surface); }
.pd-uc-filter:focus-visible { box-shadow: var(--pd-focus-ring); outline: none; }
.pd-uc-grid { display: grid; gap: var(--pd-space-24); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pd-uc-card { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); display: flex; flex-direction: column; overflow: hidden; position: relative; transition: box-shadow var(--pd-motion-standard) ease; }
.pd-uc-card:hover { box-shadow: var(--pd-shadow-soft); }
.pd-uc-card[hidden] { display: none; }
.pd-uc-card__thumb { aspect-ratio: 16 / 9; background: var(--pd-gradient-dark-wash); display: flex; align-items: center; justify-content: center; overflow: hidden; text-decoration: none; }
.pd-uc-card__thumb .pd-uc-card__icon { height: 64px; width: 64px; filter: brightness(0) invert(1); opacity: 0.85; }
.pd-uc-card__icon-placeholder { display: block; height: 48px; width: 48px; }
.pd-uc-card__body { display: flex; flex: 1; flex-direction: column; gap: var(--pd-space-12); padding: var(--pd-space-24); }
.pd-uc-card__audience { color: var(--pd-violet); font-size: 0.875rem; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }
.pd-uc-card__title { font-family: var(--fh); font-size: 1.375rem; line-height: 1.25; margin: 0; word-break: break-word; }
.pd-uc-card__title a { color: var(--pd-ink); text-decoration: none; }
.pd-uc-card__title a:hover { color: var(--pd-violet); }
.pd-uc-card__problem { color: var(--pd-ink-soft); flex: 1; font-size: 0.9375rem; line-height: 1.55; margin: 0; }
.pd-uc-card__link { color: var(--pd-violet); display: inline-flex; align-items: center; font-size: 0.9375rem; font-weight: 600; gap: var(--pd-space-4); text-decoration: none; transition: gap var(--pd-motion-fast) ease; }
.pd-uc-card__link:hover { gap: var(--pd-space-8); text-decoration: none; }
.pd-uc-card__link:focus-visible { box-shadow: var(--pd-focus-ring); outline: none; }
.pd-uc-empty { color: var(--pd-ink-soft); margin: 0; }
.pd-uc-single__head { background: var(--pd-paper); padding: var(--pd-space-64) 0 var(--pd-space-32); }
.pd-uc-single__inner { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-16); margin: 0 auto; max-width: 1200px; padding: 0 var(--pd-space-24); width: 100%; }
.pd-uc-single__title { color: var(--pd-ink); font-family: var(--fh); font-size: 3rem; line-height: 1.1; margin: 0; max-width: 48rem; }
.pd-uc-single__audience { align-self: flex-start; }
.pd-uc-crumbs, .pd-uc-crumbs a { color: var(--pd-ink-soft); font-size: 0.9375rem; }
.pd-uc-crumbs__list { display: flex; flex-wrap: wrap; gap: var(--pd-space-8); list-style: none; margin: 0; padding: 0; }
.pd-uc-crumbs__list li + li::before { content: ">"; margin-right: var(--pd-space-8); }
.pd-uc-section { background: var(--pd-paper); padding: var(--pd-space-32) 0; }
.pd-uc-section:last-of-type { padding-bottom: var(--pd-space-96); }
.pd-uc-section__title { color: var(--pd-ink); font-family: var(--fh); font-size: 1.875rem; line-height: 1.2; margin: 0; }
.pd-uc-section__body { color: var(--pd-ink-soft); font-size: 1.125rem; line-height: 1.6; margin: 0; max-width: 46rem; }
.pd-uc-steps { counter-reset: pd-uc; display: flex; flex-direction: column; gap: var(--pd-space-16); list-style: none; margin: 0; padding: 0; }
.pd-uc-step { align-items: center; background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); counter-increment: pd-uc; display: flex; gap: var(--pd-space-16); justify-content: space-between; padding: var(--pd-space-24); position: relative; }
.pd-uc-step__text { padding-left: 56px; position: relative; }
.pd-uc-step__text::before { align-items: center; background: var(--pd-gradient-aa); border-radius: var(--pd-radius-pill); color: var(--pd-surface); content: counter(pd-uc); display: flex; font-weight: 600; height: 40px; justify-content: center; left: 0; position: absolute; top: 0; width: 40px; }
.pd-uc-step__title { color: var(--pd-ink); font-size: 1.125rem; margin: 0 0 var(--pd-space-4); }
.pd-uc-step__body { color: var(--pd-ink-soft); line-height: 1.55; margin: 0; }
.pd-uc-app-logo { height: 40px; object-fit: contain; width: auto; }
.pd-uc-apps { display: flex; flex-wrap: wrap; gap: var(--pd-space-24); list-style: none; margin: 0; padding: 0; }
.pd-uc-apps__item { align-items: center; display: flex; gap: var(--pd-space-8); }
.pd-uc-single .pd-final-cta { background: var(--n-0); border-top: 3px solid transparent; border-image: var(--pd-gradient) 1; padding: var(--pd-space-96) 0; }
.pd-uc-single .pd-final-cta .pd-btn-secondary { border-color: var(--pd-surface); color: var(--pd-surface) !important; }

/* Use case single — rich layout v2 */
.pd-uc-hero { background: var(--pd-gradient-dark-wash); padding: var(--pd-space-96) 0 var(--pd-space-64); }
.pd-uc-hero__inner { align-items: center; box-sizing: border-box; display: grid; gap: var(--pd-space-48); grid-template-columns: 1fr 1fr; margin: 0 auto; max-width: 1200px; padding: 0 var(--pd-space-24); width: 100%; }
.pd-uc-hero__text { display: flex; flex-direction: column; gap: var(--pd-space-16); }
.pd-uc-hero .pd-uc-crumbs, .pd-uc-hero .pd-uc-crumbs a { color: rgba(255,255,255,0.6); }
.pd-uc-hero__audience { align-self: flex-start; }
.pd-uc-hero__title { color: var(--n-0); font-family: var(--fh); font-size: 3rem; line-height: 1.1; margin: 0; }
.pd-uc-hero__subtitle { color: rgba(255,255,255,0.8); font-size: 1.25rem; line-height: 1.55; margin: 0; max-width: 32rem; }
.pd-uc-hero__actions { display: flex; flex-wrap: wrap; gap: var(--pd-space-12); margin-top: var(--pd-space-8); }
.pd-uc-hero__actions .pd-btn-secondary { border-color: rgba(255,255,255,0.3); color: var(--n-0) !important; }
.pd-uc-hero__actions .pd-btn-secondary:hover { background: rgba(255,255,255,0.1) !important; }
.pd-uc-hero__graphic { display: flex; align-items: center; justify-content: center; }
.pd-uc-hero__svg { height: auto; max-width: 400px; width: 100%; }

.pd-uc-section__label { color: var(--pd-violet); display: block; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; margin-bottom: var(--pd-space-8); text-transform: uppercase; }
.pd-uc-section__body--wide { max-width: 52rem; }

.pd-uc-challenge { background: var(--pd-paper); }
.pd-uc-challenge__grid { display: grid; gap: var(--pd-space-24); grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--pd-space-32); }
.pd-uc-challenge__card { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); display: flex; flex-direction: column; gap: var(--pd-space-12); padding: var(--pd-space-24); }
.pd-uc-challenge__icon { color: var(--pd-danger); flex-shrink: 0; }
.pd-uc-challenge__icon svg { height: 28px; width: 28px; }
.pd-uc-challenge__card-title { color: var(--pd-ink); font-family: var(--fh); font-size: 1.125rem; font-weight: 600; line-height: 1.3; margin: 0; }
.pd-uc-challenge__card-body { color: var(--pd-ink-soft); font-size: 0.9375rem; line-height: 1.55; margin: 0; }

.pd-uc-solution { background: var(--pd-surface); }

.pd-uc-workflow { background: var(--pd-paper); }
.pd-uc-steps-v2 { display: flex; flex-direction: column; gap: 0; margin-top: var(--pd-space-32); position: relative; }
.pd-uc-step-v2 { display: grid; gap: var(--pd-space-16); grid-template-columns: 48px 1fr; padding-bottom: var(--pd-space-32); position: relative; }
.pd-uc-step-v2:last-child { padding-bottom: 0; }
.pd-uc-step-v2__number { align-items: center; background: var(--pd-gradient-aa); border-radius: 50%; color: var(--n-0); display: flex; font-family: var(--fh); font-size: 1.125rem; font-weight: 700; height: 48px; justify-content: center; position: relative; width: 48px; z-index: 1; }
.pd-uc-step-v2__connector { background: var(--pd-line); height: calc(100% - 48px); left: 23px; position: absolute; top: 48px; width: 2px; z-index: 0; }
.pd-uc-step-v2__content { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); display: flex; flex-direction: column; gap: var(--pd-space-8); padding: var(--pd-space-24); transition: box-shadow var(--pd-motion-standard) ease; }
.pd-uc-step-v2__content:hover { box-shadow: var(--pd-shadow-soft); }
.pd-uc-step-v2__title { color: var(--pd-ink); font-family: var(--fh); font-size: 1.125rem; font-weight: 600; line-height: 1.3; margin: 0; }
.pd-uc-step-v2__body { color: var(--pd-ink-soft); font-size: 0.9375rem; line-height: 1.6; margin: 0; }

.pd-uc-capabilities { background: var(--pd-surface); }
.pd-uc-capabilities__grid { display: grid; gap: var(--pd-space-24); grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--pd-space-32); }
.pd-uc-cap-card { background: var(--pd-paper); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); display: flex; flex-direction: column; gap: var(--pd-space-12); padding: var(--pd-space-32); transition: box-shadow var(--pd-motion-standard) ease; }
.pd-uc-cap-card:hover { box-shadow: var(--pd-shadow-soft); }
.pd-uc-cap-card__icon { color: var(--pd-violet); }
.pd-uc-cap-card__icon svg { height: 32px; width: 32px; }
.pd-uc-cap-card__title { color: var(--pd-ink); font-family: var(--fh); font-size: 1.125rem; font-weight: 600; line-height: 1.3; margin: 0; }
.pd-uc-cap-card__body { color: var(--pd-ink-soft); font-size: 0.9375rem; line-height: 1.55; margin: 0; }

.pd-uc-outcome { background: var(--pd-paper); }
.pd-uc-outcome__grid { display: grid; gap: var(--pd-space-24); grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--pd-space-32); }
.pd-uc-outcome__card { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); display: flex; flex-direction: column; gap: var(--pd-space-8); padding: var(--pd-space-24); }
.pd-uc-outcome__check { color: var(--pd-teal); }
.pd-uc-outcome__check svg { height: 24px; width: 24px; }
.pd-uc-outcome__card-title { color: var(--pd-ink); font-family: var(--fh); font-size: 1rem; font-weight: 600; line-height: 1.3; margin: 0; }
.pd-uc-outcome__card-body { color: var(--pd-ink-soft); font-size: 0.9375rem; line-height: 1.55; margin: 0; }

.pd-uc-related { background: var(--pd-surface); }

@media (max-width: 1024px) {
	.pd-uc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pd-uc-hero__inner { grid-template-columns: 1fr; }
	.pd-uc-hero__graphic { display: none; }
	.pd-uc-challenge__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pd-uc-capabilities__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.pd-uc-grid { grid-template-columns: 1fr; }
	.pd-uc-hero__title { font-size: 2.25rem; }
	.pd-uc-hero { padding: var(--pd-space-64) 0 var(--pd-space-32); }
	.pd-uc-challenge__grid, .pd-uc-capabilities__grid, .pd-uc-outcome__grid { grid-template-columns: 1fr; }
	.pd-uc-step { align-items: flex-start; flex-direction: column; }
	.pd-uc-single .pd-final-cta { padding: var(--pd-space-64) 0; }
	.elementor .pd-uc-archive-head__title .elementor-heading-title { font-size: 2.25rem; }
}

/* Blog (TASK-015). Tokens only. */
.elementor .pd-blog-head, .elementor .pd-blog-list, .elementor .pd-blog-feature-wrap { background: var(--pd-paper); }
.elementor .pd-blog-head { padding: var(--pd-space-96) 0 var(--pd-space-32) !important; }
.elementor .pd-blog-feature-wrap { padding: 0 0 var(--pd-space-32) !important; }
.elementor .pd-blog-list { padding: 0 0 var(--pd-space-96) !important; }
.pd-blog-head-band { background: var(--pd-paper); padding: var(--pd-space-96) 0 var(--pd-space-32); }
.pd-blog-category .pd-blog-list { background: var(--pd-paper); padding: 0 0 var(--pd-space-96); }
.elementor .pd-blog-inner, .pd-blog-inner { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-24) !important; margin-left: auto !important; margin-right: auto !important; max-width: 1200px !important; padding: 0 var(--pd-space-24) !important; width: 100% !important; }
.elementor .pd-blog-head__title .elementor-heading-title, .pd-blog-archive-title { color: var(--pd-ink); font-family: var(--fh); font-size: 3.25rem; line-height: 1.1; margin: 0; }
.elementor .pd-blog-head__intro, .elementor .pd-blog-head__intro p, .pd-blog-archive-intro { color: var(--pd-ink-soft); font-size: 1.125rem; line-height: 1.55; margin: 0; max-width: 42rem; }
.pd-blog-grid { display: grid; gap: var(--pd-space-24); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pd-blog-empty { color: var(--pd-ink-soft); margin: 0; }
.pd-post-card { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); display: flex; flex-direction: column; overflow: hidden; position: relative; transition: box-shadow var(--pd-motion-standard) ease; }
.pd-post-card:hover { box-shadow: var(--pd-shadow-soft); }
.pd-post-card__cover { aspect-ratio: 16 / 9; background: var(--pd-gradient-dark-wash); overflow: hidden; }
.pd-post-card__cover img { display: block; height: 100%; object-fit: cover; width: 100%; }
.pd-post-card__body { display: flex; flex: 1; flex-direction: column; gap: var(--pd-space-12); padding: var(--pd-space-24); }
.pd-post-card__meta { align-items: center; color: var(--pd-ink-soft); display: flex; flex-wrap: wrap; font-size: 0.875rem; gap: var(--pd-space-8); margin: 0; }
.pd-post-card__cat { color: var(--pd-violet); font-weight: 600; }
.pd-post-card__title { font-family: var(--fh); font-size: 1.375rem; line-height: 1.25; margin: 0; }
.pd-post-card__link { color: var(--pd-ink); text-decoration: none; }
.pd-post-card__link::after { content: ""; inset: 0; position: absolute; }
.pd-post-card__link:hover { color: var(--pd-violet); }
.pd-post-card__link:focus-visible { box-shadow: var(--pd-focus-ring); outline: none; }
.pd-post-card__excerpt { color: var(--pd-ink-soft); flex: 1; line-height: 1.55; margin: 0; }
.pd-post-card__foot { color: var(--pd-ink-soft); display: flex; font-size: 0.875rem; gap: var(--pd-space-16); margin: 0; }
.pd-post-card--featured { flex-direction: row; }
.pd-post-card--featured .pd-post-card__cover { aspect-ratio: auto; flex: 0 0 50%; min-height: 320px; }
.pd-post-card--featured .pd-post-card__body { justify-content: center; padding: var(--pd-space-48); }
.pd-post-card--featured .pd-post-card__title { font-size: 2.25rem; line-height: 1.15; }
.pd-post-card--featured .pd-post-card__excerpt { flex: 0 0 auto; font-size: 1.125rem; }
.pd-blog-pagination { margin-top: var(--pd-space-16); }
.pd-blog-pagination ul { display: flex; flex-wrap: wrap; gap: var(--pd-space-8); list-style: none; margin: 0; padding: 0; }
.pd-blog-pagination .page-numbers { align-items: center; background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-pill); color: var(--pd-ink); display: inline-flex; font-weight: 500; justify-content: center; min-height: 44px; min-width: 44px; padding: 0 var(--pd-space-16); text-decoration: none; }
.pd-blog-pagination a.page-numbers:hover { border-color: var(--pd-violet); color: var(--pd-violet); }
.pd-blog-pagination .page-numbers.current { background: var(--pd-ink); border-color: var(--pd-ink); color: var(--pd-surface); }
.pd-blog-pagination a.page-numbers:focus-visible { box-shadow: var(--pd-focus-ring); outline: none; }

.pd-blog-single { background: var(--pd-paper); }
.pd-blog-wrap { box-sizing: border-box; display: block; margin: 0 auto; max-width: 1200px; padding: var(--pd-space-64) var(--pd-space-24) var(--pd-space-48); }
.pd-blog-wrap.has-toc { display: grid; gap: var(--pd-space-48); grid-template-columns: 220px minmax(0, 720px); justify-content: center; }
.pd-blog-wrap:not(.has-toc) .pd-blog-article { margin: 0 auto; }
.pd-blog-article { max-width: 720px; min-width: 0; width: 100%; }
.pd-toc { align-self: start; border-left: 2px solid var(--pd-line); font-size: 0.9375rem; padding-left: var(--pd-space-16); position: sticky; top: var(--pd-space-96); }
.pd-toc__title { color: var(--pd-ink); font-weight: 600; margin: 0 0 var(--pd-space-8); }
.pd-toc__list { color: var(--pd-ink-soft); display: flex; flex-direction: column; gap: var(--pd-space-8); list-style: none; margin: 0; padding: 0; }
.pd-toc__list a { color: var(--pd-ink-soft); text-decoration: none; }
.pd-toc__list a:hover { color: var(--pd-violet); text-decoration: underline; }
.pd-toc__list a.is-active { color: var(--pd-violet); font-weight: 600; }
.pd-toc__list a:focus-visible { box-shadow: var(--pd-focus-ring); outline: none; }
.pd-blog-crumbs, .pd-blog-crumbs a { color: var(--pd-ink-soft); font-size: 0.9375rem; }
.pd-blog-head { display: flex; flex-direction: column; gap: var(--pd-space-16); margin-bottom: var(--pd-space-32); }
.pd-blog-title { color: var(--pd-ink); font-family: var(--fh); font-size: 3.25rem; line-height: 1.1; margin: 0; }
.pd-blog-meta { color: var(--pd-ink-soft); display: flex; flex-wrap: wrap; font-size: 0.9375rem; gap: var(--pd-space-16); margin: 0; }
.pd-blog-meta__author { color: var(--pd-ink); font-weight: 600; }
.pd-blog-cover { aspect-ratio: 16 / 9; margin: 0 0 var(--pd-space-32); overflow: hidden; border-radius: var(--pd-radius-card); }
.pd-blog-cover img { display: block; height: 100%; object-fit: cover; width: 100%; }
.pd-blog-content { color: var(--pd-ink); font-size: 1.125rem; line-height: 1.7; max-width: min(720px, 72ch); }
.pd-blog-content p, .pd-blog-content ul, .pd-blog-content ol { margin: 0 0 var(--pd-space-24); }
.pd-blog-content ul, .pd-blog-content ol { padding-left: var(--pd-space-24); }
.pd-blog-content li { margin-bottom: var(--pd-space-8); }
.pd-blog-content h2 { color: var(--pd-ink); font-family: var(--fh); font-size: 2.25rem; line-height: 1.15; margin: var(--pd-space-48) 0 var(--pd-space-16); scroll-margin-top: var(--pd-space-96); }
.pd-blog-content h3 { color: var(--pd-ink); font-family: var(--fh); font-size: 1.5rem; line-height: 1.25; margin: var(--pd-space-32) 0 var(--pd-space-12); }
.pd-blog-content a { color: var(--pd-violet); text-decoration: underline; }
.pd-blog-content img, .pd-blog-content figure { height: auto; max-width: 100%; }
.pd-blog-content figure { margin: 0 0 var(--pd-space-24); }
.pd-blog-content figcaption { color: var(--pd-ink-soft); font-size: 0.875rem; margin-top: var(--pd-space-8); }
.pd-blog-content blockquote { border-left: 3px solid var(--pd-violet); color: var(--pd-ink-soft); margin: 0 0 var(--pd-space-24); padding-left: var(--pd-space-24); }
.pd-blog-content pre, .pd-blog-content code { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-button); font-size: 0.9375rem; }
.pd-blog-content code { padding: 2px var(--pd-space-4); }
.pd-blog-content pre { overflow-x: auto; padding: var(--pd-space-16); }
.pd-blog-content pre code { border: 0; padding: 0; }
.pd-blog-cta { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-panel); display: flex; flex-direction: column; gap: var(--pd-space-12); margin: var(--pd-space-48) 0 var(--pd-space-32); padding: var(--pd-space-32); }
.pd-blog-cta__title { color: var(--pd-ink); font-family: var(--fh); font-size: 1.5rem; line-height: 1.25; margin: 0; }
.pd-blog-cta__body { color: var(--pd-ink-soft); line-height: 1.55; margin: 0; }
.pd-blog-cta .elementor-button { align-self: flex-start; }
.pd-share { align-items: center; display: flex; flex-wrap: wrap; gap: var(--pd-space-16); margin-bottom: var(--pd-space-32); }
.pd-share__title { color: var(--pd-ink); font-weight: 600; margin: 0; }
.pd-share__list { display: flex; flex-wrap: wrap; gap: var(--pd-space-8); list-style: none; margin: 0; padding: 0; }
.pd-share__link { align-items: center; background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-pill); color: var(--pd-ink); cursor: pointer; display: inline-flex; font: inherit; font-size: 0.9375rem; font-weight: 500; min-height: 44px; padding: 0 var(--pd-space-16); text-decoration: none; }
.pd-share__link:hover { border-color: var(--pd-violet); color: var(--pd-violet); }
.pd-share__link:focus-visible { box-shadow: var(--pd-focus-ring); outline: none; }
.pd-author-box { align-items: flex-start; border-top: 1px solid var(--pd-line); display: flex; gap: var(--pd-space-16); padding-top: var(--pd-space-32); }
.pd-author-box__avatar { align-items: center; background: var(--pd-gradient-aa); border-radius: var(--pd-radius-pill); color: var(--pd-surface); display: inline-flex; flex: 0 0 auto; font-family: var(--fh); font-size: 1.5rem; font-weight: 600; height: 64px; justify-content: center; width: 64px; }
.pd-author-box__name { color: var(--pd-ink); font-weight: 600; margin: 0 0 var(--pd-space-4); }
.pd-author-box__bio { color: var(--pd-ink-soft); line-height: 1.55; margin: 0; }
.pd-blog-related { padding: var(--pd-space-48) 0 var(--pd-space-96); }
.pd-blog-related__inner { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-24); margin: 0 auto; max-width: 1200px; padding: 0 var(--pd-space-24); width: 100%; }
.pd-blog-related__title { color: var(--pd-ink); font-family: var(--fh); font-size: 2.25rem; line-height: 1.15; margin: 0; }
.pd-blog-single .pd-final-cta, .pd-blog-category .pd-final-cta { background: var(--pd-gradient-dark-wash); padding: var(--pd-space-96) 0; }
.pd-blog-single .pd-final-cta .pd-btn-secondary, .pd-blog-category .pd-final-cta .pd-btn-secondary { border-color: var(--pd-surface); color: var(--pd-surface) !important; }
@media (max-width: 1024px) {
	.pd-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pd-blog-wrap.has-toc { display: block; }
	.pd-toc { margin-bottom: var(--pd-space-32); position: static; }
	.pd-post-card--featured { flex-direction: column; }
	.pd-post-card--featured .pd-post-card__cover { aspect-ratio: 16 / 9; flex: 0 0 auto; min-height: 0; }
}
@media (max-width: 767px) {
	.pd-blog-grid { grid-template-columns: 1fr; }
	.pd-blog-title, .elementor .pd-blog-head__title .elementor-heading-title, .pd-blog-archive-title { font-size: 2.25rem; }
	.pd-blog-content h2, .pd-blog-related__title { font-size: 1.75rem; }
	.pd-post-card--featured .pd-post-card__body { padding: var(--pd-space-24); }
	.pd-post-card--featured .pd-post-card__title { font-size: 1.5rem; }
	.pd-blog-wrap { padding-top: var(--pd-space-32); }
	.pd-blog-single .pd-final-cta, .pd-blog-category .pd-final-cta { padding: var(--pd-space-64) 0; }
}

/* Pricing (TASK-016). Tokens only. */
.elementor .pd-pricing-head, .elementor .pd-pricing-plans, .elementor .pd-pricing-byok, .elementor .pd-pricing-compare, .elementor .pd-pricing-faq { background: var(--pd-paper); }
.elementor .pd-pricing-head { padding: var(--pd-space-96) 0 var(--pd-space-32) !important; }
.elementor .pd-pricing-plans { padding: 0 0 var(--pd-space-64) !important; }
.elementor .pd-pricing-byok { background: var(--pd-surface); padding: var(--pd-space-96) 0 !important; }
.elementor .pd-pricing-compare, .elementor .pd-pricing-faq { padding: var(--pd-space-64) 0 !important; }
.elementor .pd-pricing__inner { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-24) !important; margin-left: auto !important; margin-right: auto !important; max-width: 1200px !important; padding: 0 var(--pd-space-24) !important; width: 100% !important; }
.elementor .pd-pricing__title .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 3rem; line-height: 1.1; margin: 0; }
.elementor .pd-pricing__h2 .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 2rem; line-height: 1.2; margin: 0; }
.elementor .pd-pricing__sub, .elementor .pd-pricing__sub p { color: var(--pd-ink-soft); font-size: 1.125rem; line-height: 1.55; margin: 0; max-width: 42rem; }
.pd-byok-steps { counter-reset: pd-step; display: grid; gap: var(--pd-space-24); grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.pd-byok-steps li { background: var(--pd-paper); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); color: var(--pd-ink-soft); counter-increment: pd-step; line-height: 1.55; padding: var(--pd-space-24); }
.pd-byok-steps li::before { color: var(--pd-violet); content: counter(pd-step); display: block; font-family: var(--fh); font-size: 1.75rem; font-weight: 700; margin-bottom: var(--pd-space-8); }
.pd-byok-steps strong { color: var(--pd-ink); display: block; font-size: 1.125rem; margin-bottom: var(--pd-space-4); }
.pd-plans { max-width: 100%; min-width: 0; display: flex; flex-direction: column; gap: var(--pd-space-24); }
.pd-plans__track { max-width: 100%; min-width: 0; display: grid; gap: var(--pd-space-16); grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.pd-plans__slide { display: flex; margin: 0; min-width: 0; }
.pd-plan { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); box-sizing: border-box; display: flex; flex: 1; flex-direction: column; gap: var(--pd-space-12); padding: var(--pd-space-24); position: relative; }
.pd-plan.is-recommended { border-color: var(--pd-violet); box-shadow: var(--pd-shadow-soft); }
.pd-plan__badge { background: var(--pd-violet); border-radius: var(--pd-radius-pill); color: var(--pd-surface); font-size: 0.8125rem; font-weight: 600; padding: var(--pd-space-4) var(--pd-space-12); align-self: flex-start; }
.pd-plan__name { color: var(--pd-ink); font-family: var(--fh); font-size: 1.375rem; line-height: 1.25; margin: 0; }
.pd-plan__price { color: var(--pd-ink); margin: 0; }
.pd-plan__amount { font-family: var(--fh); font-size: 2.25rem; font-weight: 700; line-height: 1.1; }
.pd-plan__prefix, .pd-plan__suffix { color: var(--pd-ink-soft); font-size: 1rem; }
.pd-plan__tagline { color: var(--pd-ink-soft); line-height: 1.5; margin: 0; }
.pd-plan__cta { display: flex !important; text-align: center; width: 100%; }
.pd-plan .pd-btn-secondary.pd-plan__cta { background: var(--pd-ink) !important; border-color: var(--pd-ink); color: #fff !important; }
.pd-plan .pd-btn-secondary.pd-plan__cta:hover { background: var(--pd-violet) !important; border-color: var(--pd-violet); }
.pd-plan__features { display: flex; flex-direction: column; gap: var(--pd-space-8); list-style: none; margin: 0; padding: 0; }
.pd-plan__feature { color: var(--pd-ink-soft); font-size: 0.9375rem; line-height: 1.45; overflow-wrap: anywhere; }
.pd-plan__feature.is-excluded { text-decoration: line-through; }
.pd-plan--enterprise { align-items: center; background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-panel); box-sizing: border-box; display: flex; flex-flow: row wrap; gap: var(--pd-space-24); justify-content: space-between; padding: var(--pd-space-32); }
.pd-plan--enterprise .pd-plan__intro { flex: 1 1 16rem; }
.pd-plan--enterprise .pd-plan__cta { flex: 0 0 auto; }
.pd-compare { max-width: 100%; min-width: 0; overflow: hidden; background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); }
.pd-compare__summary { color: var(--pd-ink); cursor: pointer; font-family: var(--fh); font-size: 1.25rem; font-weight: 600; min-height: 44px; padding: var(--pd-space-16) var(--pd-space-24); }
.pd-compare__summary:focus-visible { box-shadow: var(--pd-focus-ring); outline: none; }
.pd-compare__scroll { contain: paint; max-width: 100%; overflow-x: auto; padding: 0 var(--pd-space-24) var(--pd-space-24); }
.pd-compare__table { border-collapse: collapse; min-width: 640px; width: 100%; }
.pd-compare__table th, .pd-compare__table td { border-top: 1px solid var(--pd-line); color: var(--pd-ink-soft); padding: var(--pd-space-12); text-align: center; }
.pd-compare__table thead th { color: var(--pd-ink); }
.pd-compare__table tbody th { color: var(--pd-ink); font-weight: 500; text-align: left; }
.pd-faq { display: flex; flex-direction: column; }
.pd-faq__item { border-top: 1px solid var(--pd-line); }
.pd-faq__item:last-child { border-bottom: 1px solid var(--pd-line); }
.pd-faq__q { margin: 0; }
.pd-faq__btn { align-items: center; background: transparent; border: 0; color: var(--pd-ink); cursor: pointer; display: flex; font: inherit; font-size: 1.125rem; font-weight: 600; gap: var(--pd-space-16); justify-content: space-between; min-height: 44px; padding: var(--pd-space-16) 0; text-align: left; width: 100%; }
.pd-faq .pd-faq__btn { color: var(--pd-ink); }
.pd-faq__btn:focus-visible { box-shadow: var(--pd-focus-ring); outline: none; }
.pd-faq__icon::before { content: "+"; font-size: 1.5rem; line-height: 1; }
.pd-faq__btn[aria-expanded="true"] .pd-faq__icon::before { content: "\2212"; }
.pd-faq__a { color: var(--pd-ink-soft); line-height: 1.6; padding: 0 0 var(--pd-space-16); }
.pd-faq__a[hidden] { display: none; }
@media (max-width: 1279px) {
	.pd-plans__track { grid-auto-columns: minmax(16rem, 78%); grid-auto-flow: column; grid-template-columns: none; overflow-x: auto; scroll-padding-inline: 0; scroll-snap-type: x mandatory; padding-bottom: var(--pd-space-8); }
	.pd-plans__slide { scroll-snap-align: start; }
}
@media (max-width: 767px) {
	.elementor .pd-pricing-head { padding: var(--pd-space-64) 0 var(--pd-space-24) !important; }
	.elementor .pd-pricing-byok { padding: var(--pd-space-64) 0 !important; }
	.elementor .pd-pricing__title .elementor-heading-title { font-size: 2.25rem; }
	.elementor .pd-pricing__h2 .elementor-heading-title { font-size: 1.625rem; }
	.pd-byok-steps { grid-template-columns: 1fr; }
	.pd-plan--enterprise { padding: var(--pd-space-24); }
}

/* TASK-017: contact page and form */
.elementor .pd-contact-head { background: var(--pd-paper); padding: var(--pd-space-96) 0 var(--pd-space-32) !important; }
.elementor .pd-contact-cols { background: var(--pd-paper); padding: 0 0 var(--pd-space-64) !important; }
.elementor .pd-contact-other { background: var(--pd-surface); padding: var(--pd-space-64) 0 !important; }
.elementor .pd-contact__inner { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-24) !important; margin-left: auto !important; margin-right: auto !important; max-width: 1200px !important; padding: 0 var(--pd-space-24) !important; width: 100% !important; }
.elementor .pd-contact__title .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 3rem; line-height: 1.1; margin: 0; }
.elementor .pd-contact__h2 .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 2rem; line-height: 1.2; margin: 0; }
.elementor .pd-contact__sub { color: var(--pd-ink-soft); font-size: 1.125rem; }
.elementor .pd-contact__sub p { margin: 0; }
.elementor .pd-contact__grid { align-items: flex-start; display: grid !important; gap: var(--pd-space-48) !important; grid-template-columns: 1fr 1fr; }
.elementor .pd-contact__grid > .pd-booking { padding: 0 !important; }
.elementor .pd-contact__grid .pd-booking__inner { max-width: none; padding: 0; }
.elementor .pd-contact__grid .pd-booking__title { font-size: 2rem; }
.pd-contact-formwrap { min-width: 0; }
.pd-contact-form { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-panel); box-sizing: border-box; padding: var(--pd-space-32); scroll-margin-top: var(--pd-space-96); }
.pd-contact-form__title { color: var(--pd-ink); font-family: var(--fh); font-size: 2rem; line-height: 1.15; margin: 0 0 var(--pd-space-24); }
.pd-form { display: flex; flex-direction: column; gap: var(--pd-space-16); }
.pd-form__field { display: flex; flex-direction: column; gap: var(--pd-space-4); }
.pd-form__field[hidden] { display: none; }
.pd-form__label { color: var(--pd-ink); font-weight: 600; }
.pd-form__input { background: var(--pd-surface); border: 1.5px solid var(--pd-ink-soft); border-radius: var(--pd-radius-button); box-sizing: border-box; color: var(--pd-ink); font: inherit; padding: var(--pd-space-12) var(--pd-space-16); width: 100%; }
.pd-form__input:focus-visible, .pd-form__consent input:focus-visible { box-shadow: var(--pd-focus-ring); outline: none; }
.pd-form__field.has-error .pd-form__input, .pd-form__input[aria-invalid="true"] { border-color: var(--pd-danger); }
.pd-form__error { color: var(--pd-danger); font-size: 0.875rem; margin: 0; }
.pd-form__consent { align-items: flex-start; color: var(--pd-ink); display: flex; gap: var(--pd-space-12); line-height: 1.5; }
.pd-form__consent input { flex: none; height: 20px; margin-top: 2px; width: 20px; }
.pd-form__consent a { color: var(--pd-ink); text-decoration: underline; }
.pd-form__hp { height: 0; left: -9999px; overflow: hidden; position: absolute; width: 0; }
.pd-form button.pd-btn-primary { align-self: flex-start; cursor: pointer; }
.pd-form__status { border-radius: var(--pd-radius-button); margin: 0 0 var(--pd-space-16); padding: var(--pd-space-16); }
.pd-form__status--ok { background: var(--pd-paper); border: 1px solid var(--pd-teal); color: var(--pd-ink); }
.pd-form__status--error { background: var(--pd-paper); border: 1px solid var(--pd-danger); color: var(--pd-ink); }
.pd-contact-other__list { color: var(--pd-ink); display: flex; flex-direction: column; gap: var(--pd-space-12); line-height: 1.5; list-style: none; margin: 0; padding: 0; }
.pd-contact-other__list a { color: var(--pd-ink); font-weight: 600; text-decoration: underline; }
.pd-contact-other__label { color: var(--pd-ink-soft); }
@media (max-width: 900px) {
	.elementor .pd-contact__grid { grid-template-columns: 1fr; }
	.elementor .pd-contact-head { padding: var(--pd-space-64) 0 var(--pd-space-24) !important; }
	.elementor .pd-contact__title .elementor-heading-title { font-size: 2.25rem; }
	.pd-contact-form { padding: var(--pd-space-24); }
}

/* TASK-018: legal pages */
.elementor .pd-legal-head { background: var(--pd-paper); padding: var(--pd-space-96) 0 var(--pd-space-24) !important; }
.elementor .pd-legal-body { background: var(--pd-paper); padding: 0 0 var(--pd-space-96) !important; }
.elementor .pd-legal__inner { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-24) !important; margin-left: auto !important; margin-right: auto !important; max-width: 720px !important; padding: 0 var(--pd-space-24) !important; width: 100% !important; }
.elementor .pd-legal__title .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 3rem; line-height: 1.1; margin: 0; }
.elementor .pd-legal__h2 .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 1.5rem; line-height: 1.2; margin: 0; }
.elementor .pd-legal__updated, .elementor .pd-legal__updated p { color: var(--pd-ink-soft); font-size: 0.875rem; margin: 0; }
.elementor .pd-legal__lead { color: var(--pd-ink-soft); font-size: 1.125rem; }
.elementor .pd-legal__text { color: var(--pd-ink); line-height: 1.6; }
.elementor .pd-legal__text a { color: var(--pd-ink); text-decoration: underline; }
.elementor .pd-legal__text p, .elementor .pd-legal__text ul, .elementor .pd-legal__text ol { margin: 0 0 var(--pd-space-12); }
.elementor .pd-legal__summary, .elementor .pd-legal__toc { background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); box-sizing: border-box; display: flex; flex-direction: column; gap: var(--pd-space-12) !important; padding: var(--pd-space-24) !important; }
.elementor .pd-legal__summary { border-left: 4px solid var(--pd-teal); }
.elementor .pd-legal__section { display: flex; flex-direction: column; gap: var(--pd-space-8) !important; padding-top: var(--pd-space-16) !important; }
.elementor .pd-legal__section .elementor-heading-title { scroll-margin-top: var(--pd-space-96); }
.elementor .pd-admin-only { display: none; }
body.admin-bar .elementor .pd-admin-only { background: var(--pd-surface); border: 1px dashed var(--pd-amber); border-radius: var(--pd-radius-button); color: var(--pd-ink); display: block; padding: var(--pd-space-12); }
@media (max-width: 900px) {
	.elementor .pd-legal-head { padding: var(--pd-space-64) 0 var(--pd-space-16) !important; }
	.elementor .pd-legal__title .elementor-heading-title { font-size: 2.25rem; }
}

/* TASK-019: Complianz consent banner, brand tokens only. */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
	background: var(--pd-surface);
	border: 1px solid var(--pd-line);
	border-radius: var(--pd-radius-card);
	box-shadow: var(--pd-shadow-soft);
	color: var(--pd-ink);
	font-family: var(--fb);
	max-width: min(440px, calc(100vw - var(--pd-space-32)));
	padding: var(--pd-space-24);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title { font-family: var(--fh); font-size: 1.125rem; font-weight: 700; color: var(--pd-ink); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-description { color: var(--pd-ink-soft); font-size: 0.9375rem; line-height: 1.5; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { display: flex; flex-wrap: wrap; gap: var(--pd-space-8); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn {
	background: var(--pd-surface);
	border: 1.5px solid var(--pd-ink);
	border-radius: var(--pd-radius-button);
	box-shadow: none;
	color: var(--pd-ink);
	cursor: pointer;
	flex: 1 1 auto;
	font-family: var(--fb);
	font-weight: 600;
	min-height: 44px;
	padding: var(--pd-space-8) var(--pd-space-16);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:hover { background: var(--pd-paper); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: var(--pd-gradient-aa); border-color: transparent; color: var(--pd-surface); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links { display: flex; flex-wrap: wrap; gap: var(--pd-space-12); list-style: none; margin: var(--pd-space-12) 0 0; padding: 0; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link { color: var(--pd-ink-soft); font-size: 0.875rem; text-decoration: underline; }
#cmplz-cookiebanner-container .cmplz-cookiebanner ul,
#cmplz-cookiebanner-container .cmplz-cookiebanner li { list-style: none; margin: 0; padding: 0; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category-toggle { background: transparent; border: 0; box-shadow: none; color: var(--pd-ink); }
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom-right {
	bottom: var(--pd-space-16);
	inset-inline: auto var(--pd-space-16);
	margin: 0;
	top: auto;
	transform: none;
}
@media (max-width: 600px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom-right { inset-inline: var(--pd-space-16); max-width: none; padding: var(--pd-space-16); }
}

/* ==========================================================================
   TASK-027: Home aligned with the pitch deck. Tokens only.
   New sections: pillars, ai-gap, context-graph, agents (workflows), governance.
   ========================================================================== */

/* Shared section shell */
.elementor .pd-sec__inner {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column !important;
	gap: var(--pd-space-48) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1200px !important;
	padding: 0 var(--pd-space-24) !important;
	width: 100% !important;
}
.elementor .pd-sec__h2 .elementor-heading-title {
	color: var(--pd-ink);
	font-family: var(--fh);
	font-size: 2.5rem;
	line-height: 1.15;
	margin: 0;
	max-width: 22ch;
}
@media (max-width: 767px) {
	.elementor .pd-sec__h2 .elementor-heading-title { font-size: 1.875rem; }
}

/* Pillars: three columns separated by rules, no cards */
.elementor .pd-pillars { background: var(--pd-paper); padding: 0 0 var(--pd-space-48) !important; }
.elementor .pd-pillars__inner {
	box-sizing: border-box;
	display: grid !important;
	gap: var(--pd-space-32);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1200px !important;
	padding: 0 var(--pd-space-24) !important;
	width: 100% !important;
}
.elementor .pd-pillar {
	display: flex !important;
	flex-direction: column !important;
	gap: var(--pd-space-12) !important;
	padding: var(--pd-space-24) 0 0 !important;
	position: relative;
}
.elementor .pd-pillar::before { background: var(--pd-gradient); content: ""; height: 3px; left: 0; position: absolute; top: 0; width: 56px; }
.elementor .pd-pillar .elementor-widget { margin: 0 !important; width: auto; }
.pd-pillar__icon { color: var(--pd-violet); display: inline-flex; }
.elementor .pd-pillar__title .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 1.5rem; line-height: 1.25; margin: 0; }
.elementor .pd-pillar__body, .elementor .pd-pillar__body p { color: var(--pd-ink-soft); font-size: 1.0625rem; line-height: 1.6; margin: 0; }
@media (max-width: 1023px) { .elementor .pd-pillars__inner { grid-template-columns: minmax(0, 1fr); gap: var(--pd-space-24); } }

/* Integration strip: connector names when no official logo is uploaded */
.pd-integration-item--text {
	color: var(--pd-ink-soft);
	font-family: var(--fh);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
}

/* Adoption gap (paper) */
.elementor .pd-gap { background: var(--pd-paper); padding: var(--pd-space-96) 0 !important; }
.elementor .pd-gap__stats { display: grid !important; padding: 0 !important; gap: var(--pd-space-32); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.elementor .pd-gap__stat { border-top: 2px solid var(--pd-ink) !important; display: flex !important; flex-direction: column !important; gap: var(--pd-space-8) !important; padding: var(--pd-space-16) 0 0 !important; }
.elementor .pd-gap__stat .elementor-widget { margin: 0 !important; width: auto; }
.elementor .pd-gap__figure .elementor-heading-title { color: var(--pd-violet); font-family: var(--fh); font-size: 3.5rem; font-variant-numeric: tabular-nums; font-weight: 700; line-height: 1.05; margin: 0; }
.elementor .pd-gap__stat--text .pd-gap__figure .elementor-heading-title { font-size: 2.25rem; line-height: 1.15; padding-top: 0.6rem; }
.elementor .pd-gap__label, .elementor .pd-gap__label p { color: var(--pd-ink-soft); font-size: 1.0625rem; line-height: 1.55; margin: 0; }
.elementor .pd-gap__foot { align-items: end; display: grid !important; gap: var(--pd-space-24) var(--pd-space-64); grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); padding: 0 !important; }
.elementor .pd-gap__foot .elementor-widget { margin: 0 !important; }
.elementor .pd-gap__line, .elementor .pd-gap__line p { color: var(--pd-ink); font-family: var(--fh); font-size: 1.5rem; line-height: 1.3; margin: 0; }
.elementor .pd-gap__source, .elementor .pd-gap__source p { color: var(--pd-ink-soft); font-size: 0.9375rem; line-height: 1.5; margin: 0; }
.elementor .pd-gap__source a { color: var(--pd-violet); text-decoration: underline; text-underline-offset: 3px; }
.elementor .pd-gap__source a:hover { color: var(--pd-ink); }
.elementor .pd-gap__source a:focus-visible { border-radius: 4px; box-shadow: var(--pd-focus-ring); outline: none; }
@media (max-width: 1023px) {
	.elementor .pd-gap__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.elementor .pd-gap__foot { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
	.elementor .pd-gap { padding: var(--pd-space-64) 0 !important; }
	.elementor .pd-gap__stats { grid-template-columns: minmax(0, 1fr); }
	.elementor .pd-gap__figure .elementor-heading-title { font-size: 2.75rem; }
}

/* How it works: eight steps, two rows of four */
.elementor .pd-how__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: var(--pd-space-64); }
.elementor .pd-how__step:nth-child(4)::after { display: none !important; }
.elementor .pd-how__step:nth-child(8)::after { display: none !important; }
@media (max-width: 1023px) {
	.elementor .pd-how__steps { row-gap: var(--pd-space-48); }
}
@media (max-width: 767px) {
	.elementor .pd-how__steps { row-gap: var(--pd-space-32); }
	.elementor .pd-how__step:nth-child(4n):not(:last-child)::after { display: block !important; }
}

/* Company context graph (paper) with a dark entity panel */
.elementor .pd-ctx { background: var(--pd-paper); padding: var(--pd-space-96) 0 !important; }
.elementor .pd-ctx__inner {
	align-items: center;
	box-sizing: border-box;
	display: grid !important;
	gap: var(--pd-space-64);
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1200px !important;
	padding: 0 var(--pd-space-24) !important;
	width: 100% !important;
}
.elementor .pd-ctx__text { display: flex !important; flex-direction: column !important; gap: var(--pd-space-24) !important; min-width: 0; padding: 0 !important; }
.elementor .pd-ctx__text .elementor-widget { margin: 0 !important; }
.elementor .pd-ctx__lede, .elementor .pd-ctx__lede p { color: var(--pd-ink); font-size: 1.25rem; line-height: 1.5; margin: 0; }
.elementor .pd-ctx__defend { border-left: 3px solid var(--pd-violet); padding-left: var(--pd-space-16); }
.elementor .pd-ctx__defend, .elementor .pd-ctx__defend p { color: var(--pd-ink-soft); font-size: 1.0625rem; line-height: 1.55; margin: 0; }
.elementor .pd-ctx__tag, .elementor .pd-ctx__tag p { color: var(--pd-violet); font-size: 0.9375rem; font-weight: 600; letter-spacing: 0.02em; line-height: 1.4; margin: 0; }
.pd-ctx__panel {
	background: var(--pd-gradient-dark-wash);
	border-radius: var(--pd-radius-panel);
	box-shadow: var(--pd-shadow-soft);
	box-sizing: border-box;
	display: grid;
	gap: var(--pd-space-24) var(--pd-space-32);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-width: 0;
	padding: var(--pd-space-32);
}
.pd-ctx__group { min-width: 0; }
.pd-ctx__group:nth-child(4) { grid-column: 1 / -1; }
.pd-ctx__group-title { color: var(--pd-teal); font-family: var(--fb); font-size: 0.9375rem; font-weight: 600; line-height: 1.4; margin: 0 0 var(--pd-space-12); }
.pd-ctx__chips { display: flex; flex-wrap: wrap; gap: var(--pd-space-8); list-style: none; margin: 0; padding: 0; }
.pd-ctx__chip { border: 1px solid var(--pd-ink-soft); border-radius: var(--pd-radius-pill); color: var(--pd-surface); font-size: 0.9375rem; line-height: 1.2; padding: var(--pd-space-8) var(--pd-space-12); }
@media (max-width: 1023px) { .elementor .pd-ctx__inner { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
	.elementor .pd-ctx { padding: var(--pd-space-64) 0 !important; }
	.pd-ctx__panel { grid-template-columns: minmax(0, 1fr); padding: var(--pd-space-24); }
}

/* Multi-agent system (workflows section, surface) */
.elementor .pd-ag { background: var(--pd-surface); padding: var(--pd-space-96) 0 !important; }
.elementor .pd-ag__head { align-items: end; display: grid !important; gap: var(--pd-space-24) var(--pd-space-64); grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); padding: 0 !important; }
.elementor .pd-ag__head .elementor-widget { margin: 0 !important; }
.elementor .pd-ag__lede, .elementor .pd-ag__lede p { color: var(--pd-ink-soft); font-size: 1.1875rem; line-height: 1.55; margin: 0; }
.elementor .pd-ag__grid { display: grid !important; gap: var(--pd-space-32) var(--pd-space-24); grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0 !important; }
.elementor .pd-ag__item { border-top: 2px solid var(--pd-ink) !important; display: flex !important; flex-direction: column !important; gap: var(--pd-space-8) !important; padding: var(--pd-space-16) 0 0 !important; }
.elementor .pd-ag__item .elementor-widget { margin: 0 !important; width: auto; }
.pd-ag__num { color: var(--pd-violet); font-family: var(--fh); font-size: 0.9375rem; font-variant-numeric: tabular-nums; font-weight: 600; }
.elementor .pd-ag__title .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 1.375rem; line-height: 1.25; margin: 0; }
.elementor .pd-ag__body, .elementor .pd-ag__body p { color: var(--pd-ink-soft); font-size: 1rem; line-height: 1.55; margin: 0; }
.elementor .pd-ag__note { background: var(--pd-paper); border-left: 4px solid var(--pd-violet); border-radius: var(--pd-radius-button); padding: var(--pd-space-16) var(--pd-space-24); }
.elementor .pd-ag__note, .elementor .pd-ag__note p { color: var(--pd-ink); font-size: 1.125rem; line-height: 1.5; margin: 0; }
@media (max-width: 1023px) {
	.elementor .pd-ag__head { grid-template-columns: minmax(0, 1fr); }
	.elementor .pd-ag__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.elementor .pd-ag { padding: var(--pd-space-64) 0 !important; }
	.elementor .pd-ag__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Why ProDexter: features move to paper, tiles to surface, comparison table below */
.elementor .pd-feats { background: var(--pd-paper); }
.elementor .pd-feat { background: var(--pd-surface); }
.elementor .pd-feat--lg { background: var(--pd-gradient-dark-wash); }
.elementor .pd-feats__grid { padding: 0 !important; }
.pd-compare { min-width: 0; }
.pd-compare__table { background: var(--pd-surface); border: 1px solid var(--pd-line); border-collapse: separate; border-radius: var(--pd-radius-card); border-spacing: 0; overflow: hidden; table-layout: fixed; width: 100%; }
.pd-compare__caption { clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.pd-compare__table thead th { background: var(--pd-ink); color: var(--pd-surface); font-family: var(--fh); font-size: 1rem; font-weight: 600; padding: var(--pd-space-16) var(--pd-space-24); text-align: left; }
.pd-compare__table thead th:last-child { background: var(--pd-violet); }
.pd-compare__table thead th, .pd-compare__table tbody th, .pd-compare__table tbody td { border-left: 0; border-right: 0; }
.pd-compare__table tbody th, .pd-compare__table tbody td { background: var(--pd-surface); border-top: 1px solid var(--pd-line); font-size: 1rem; line-height: 1.5; padding: var(--pd-space-16) var(--pd-space-24); text-align: left; vertical-align: top; }
.pd-compare__table tbody th { color: var(--pd-ink); font-weight: 600; }
.pd-compare__table tbody td { color: var(--pd-ink-soft); }
.pd-compare__table tbody td:last-child { background: var(--pd-paper); color: var(--pd-ink); font-weight: 500; }
@media (max-width: 767px) {
	.pd-compare__table, .pd-compare__table tbody, .pd-compare__table tr, .pd-compare__table th, .pd-compare__table td { display: block; }
	.pd-compare__table thead { clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px; }
	.pd-compare__table tbody tr { border-top: 1px solid var(--pd-line); padding: var(--pd-space-12) 0; }
	.pd-compare__table tbody tr:first-child { border-top: 0; }
	.pd-compare__table tbody th, .pd-compare__table tbody td { border-top: 0; padding: var(--pd-space-4) var(--pd-space-16); }
	.pd-compare__table tbody td::before { color: var(--pd-ink-soft); content: attr(data-label) ": "; font-weight: 600; }
	.pd-compare__table tbody td:last-child { background: transparent; }
}

/* Governance (surface) */
.elementor .pd-gov { background: var(--pd-surface); padding: var(--pd-space-96) 0 !important; }
.elementor .pd-gov__risks { align-items: end; display: grid !important; gap: var(--pd-space-16); grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0 !important; }
.elementor .pd-gov__risk { background: var(--pd-paper); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); border-top-width: 8px; box-sizing: border-box; display: flex !important; flex-direction: column !important; gap: var(--pd-space-8) !important; padding: var(--pd-space-24) !important; }
.elementor .pd-gov__risk .elementor-widget { margin: 0 !important; width: auto; }
.elementor .pd-gov__risk--low { border-top-color: var(--pd-teal); min-height: 150px; }
.elementor .pd-gov__risk--medium { border-top-color: var(--pd-amber); min-height: 180px; }
.elementor .pd-gov__risk--high { border-top-color: var(--pd-violet); min-height: 210px; }
.elementor .pd-gov__risk--blocked { border-top-color: var(--pd-danger); min-height: 240px; }
.elementor .pd-gov__risk-title .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 1.375rem; line-height: 1.25; margin: 0; padding-top: var(--pd-space-32); }
.elementor .pd-gov__risk-body, .elementor .pd-gov__risk-body p { color: var(--pd-ink-soft); font-size: 1.0625rem; line-height: 1.5; margin: 0; }
.elementor .pd-gov__ctl { display: flex !important; flex-direction: column !important; gap: var(--pd-space-16) !important; padding: 0 !important; }
.elementor .pd-gov__ctl .elementor-widget { margin: 0 !important; }
.elementor .pd-gov__ctl-title .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 1.375rem; line-height: 1.25; margin: 0; }
.pd-gov__controls { display: grid; gap: var(--pd-space-12) var(--pd-space-32); grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.pd-gov__control { color: var(--pd-ink); font-size: 1.0625rem; line-height: 1.45; padding-left: var(--pd-space-32); position: relative; }
.pd-gov__control::before { background: var(--pd-gradient); border-radius: var(--pd-radius-pill); content: ""; height: 10px; left: 4px; position: absolute; top: 0.55em; width: 10px; }
@media (max-width: 1023px) {
	.elementor .pd-gov__risks { align-items: stretch; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.elementor .pd-gov__risk { min-height: 0 !important; }
	.pd-gov__controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.elementor .pd-gov { padding: var(--pd-space-64) 0 !important; }
	.elementor .pd-gov__risks { grid-template-columns: minmax(0, 1fr); }
	.pd-gov__controls { grid-template-columns: minmax(0, 1fr); }
}

/* Roadmap empty stage */
.pd-roadmap__empty { color: var(--pd-ink-soft); font-size: 1rem; margin: 0; }

@media (max-width: 767px) {
	.pd-compare__table { table-layout: auto; }
	.pd-compare__table tbody th, .pd-compare__table tbody td { box-sizing: border-box; overflow-wrap: anywhere; width: 100%; }
}
@media (max-width: 767px) {
	.elementor .pd-compare .pd-compare__table { max-width: 100%; min-width: 0; width: 100%; }
}


/* ===== TASK-027 visual polish: gradients, icons, motion. Tokens only. ===== */
:root {
	--pd-tint-violet: color-mix(in srgb, var(--pd-violet) 10%, var(--pd-paper));
	--pd-tint-teal: color-mix(in srgb, var(--pd-teal) 10%, var(--pd-paper));
	--pd-lift-shadow: 0 14px 36px color-mix(in srgb, var(--pd-ink) 14%, transparent);
}

/* Section backgrounds */
.elementor .pd-hero { background: radial-gradient(60% 70% at 88% 10%, color-mix(in srgb, var(--pd-teal) 20%, transparent), transparent), radial-gradient(70% 80% at 5% 0%, color-mix(in srgb, var(--pd-violet) 18%, transparent), transparent), var(--pd-paper); }
.elementor .pd-integrations { background: linear-gradient(180deg, var(--pd-tint-teal), var(--pd-paper)); }
.elementor .pd-pillars { background: linear-gradient(180deg, var(--pd-paper), var(--pd-tint-violet)); }
.elementor .pd-problem { background: radial-gradient(70% 60% at 15% 0%, color-mix(in srgb, var(--pd-violet) 45%, transparent), transparent), radial-gradient(60% 60% at 95% 100%, color-mix(in srgb, var(--pd-teal) 30%, transparent), transparent), linear-gradient(160deg, var(--pd-ink), color-mix(in srgb, var(--pd-violet) 22%, var(--pd-ink))); background-color: var(--pd-ink); }
.elementor .pd-ag { background: linear-gradient(180deg, var(--pd-surface), var(--pd-tint-violet)); }
.elementor .pd-gov { background: linear-gradient(180deg, var(--pd-surface), var(--pd-tint-teal)); }
.elementor .pd-gap { background: linear-gradient(180deg, var(--pd-paper), var(--pd-tint-teal)); }
.elementor .pd-feat--lg { background: radial-gradient(80% 70% at 10% 0%, color-mix(in srgb, var(--pd-violet) 45%, transparent), transparent), radial-gradient(60% 60% at 100% 100%, color-mix(in srgb, var(--pd-teal) 30%, transparent), transparent), var(--pd-ink); }

/* Cards: gradient surface, lift on hover (translate so it never fights the reveal animation) */
.elementor .pd-ag__item { background: linear-gradient(160deg, var(--pd-surface), var(--pd-tint-violet)); border: 1px solid var(--pd-line) !important; border-radius: var(--pd-radius-card); border-top: 3px solid var(--pd-violet) !important; box-sizing: border-box; padding: var(--pd-space-24) !important; position: relative; }
.elementor .pd-pillar { background: linear-gradient(160deg, var(--pd-surface), var(--pd-tint-teal)); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); box-sizing: border-box; padding: var(--pd-space-32) var(--pd-space-24) var(--pd-space-24) !important; }
.elementor .pd-pillar::before { left: var(--pd-space-24); top: 0; border-radius: 0 0 var(--pd-radius-button) var(--pd-radius-button); }
.elementor .pd-feat:not(.pd-feat--lg) { background: linear-gradient(160deg, var(--pd-surface), var(--pd-tint-violet)); }
.elementor .pd-gov__risk { border-radius: var(--pd-radius-card); position: relative; }
.elementor .pd-gov__risk--low { background: linear-gradient(180deg, var(--pd-tint-teal), var(--pd-surface)); }
.elementor .pd-gov__risk--medium { background: linear-gradient(180deg, color-mix(in srgb, var(--pd-amber) 14%, var(--pd-paper)), var(--pd-surface)); }
.elementor .pd-gov__risk--high { background: linear-gradient(180deg, var(--pd-tint-violet), var(--pd-surface)); }
.elementor .pd-gov__risk--blocked { background: linear-gradient(180deg, color-mix(in srgb, var(--pd-danger) 10%, var(--pd-paper)), var(--pd-surface)); }
.pd-uc-card { background: linear-gradient(160deg, var(--pd-surface), var(--pd-tint-teal)); }
.elementor .pd-ag__item,
.elementor .pd-pillar,
.elementor .pd-feat,
.elementor .pd-gov__risk,
.pd-uc-card { transition: translate var(--pd-motion-standard) ease, box-shadow var(--pd-motion-standard) ease, border-color var(--pd-motion-standard) ease; }
.elementor .pd-ag__item:hover,
.elementor .pd-pillar:hover,
.elementor .pd-feat:hover,
.elementor .pd-gov__risk:hover,
.pd-uc-card:hover { box-shadow: var(--pd-lift-shadow); translate: 0 -4px; }

/* Comparison table */
.pd-compare__table thead th { background: linear-gradient(115deg, var(--pd-ink), color-mix(in srgb, var(--pd-violet) 55%, var(--pd-ink))); }
.pd-compare__table thead th:last-child { background: var(--pd-gradient-aa); }
.pd-compare__table tbody tr:nth-child(even) th,
.pd-compare__table tbody tr:nth-child(even) td { background: var(--pd-paper); }
.pd-compare__table tbody td:last-child { background: var(--pd-tint-violet); }
.pd-compare__table tbody tr:nth-child(even) td:last-child { background: color-mix(in srgb, var(--pd-violet) 14%, var(--pd-paper)); }

/* Icons (inline SVG masks, tinted with tokens; decorative) */
.elementor .pd-ag__item::before,
.elementor .pd-gov__risk::before { background: currentColor; content: ""; display: block; flex-shrink: 0; height: 28px; -webkit-mask: var(--pd-ico) center / contain no-repeat; mask: var(--pd-ico) center / contain no-repeat; position: absolute !important; right: var(--pd-space-24); top: var(--pd-space-24); width: 28px; z-index: 1; }
.elementor .pd-ag__item::before { color: var(--pd-teal); }
.elementor .pd-ag__item:nth-child(odd)::before { color: var(--pd-violet); }
.elementor .pd-ag__grid > .pd-ag__item:nth-child(1) { --pd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V3h6v1M9 11l1.5 1.5L14 9M9 17h6'/%3E%3C/svg%3E"); }
.elementor .pd-ag__grid > .pd-ag__item:nth-child(2) { --pd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='M20 20l-4.5-4.5'/%3E%3C/svg%3E"); }
.elementor .pd-ag__grid > .pd-ag__item:nth-child(3) { --pd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-3.5 10.9c.6.5 1 1.2 1 2.1h5c0-.9.4-1.6 1-2.1A6 6 0 0 0 12 3z'/%3E%3C/svg%3E"); }
.elementor .pd-ag__grid > .pd-ag__item:nth-child(4) { --pd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M10 8.5l5.5 3.5-5.5 3.5z'/%3E%3C/svg%3E"); }
.elementor .pd-ag__grid > .pd-ag__item:nth-child(5) { --pd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20l1-4L16.5 4.5a2.1 2.1 0 0 1 3 3L8 19z'/%3E%3Cpath d='M14.5 6.5l3 3'/%3E%3C/svg%3E"); }
.elementor .pd-ag__grid > .pd-ag__item:nth-child(6) { --pd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12.5l3 3 5-6'/%3E%3C/svg%3E"); }
.elementor .pd-ag__grid > .pd-ag__item:nth-child(7) { --pd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.elementor .pd-ag__grid > .pd-ag__item:nth-child(8) { --pd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 16V8M8.5 11.5L12 8l3.5 3.5'/%3E%3C/svg%3E"); }
.elementor .pd-gov__risk--low { --pd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12.5l3 3 5-6'/%3E%3C/svg%3E"); }
.elementor .pd-gov__risk--low::before { color: var(--pd-teal); }
.elementor .pd-gov__risk--medium { --pd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s4 -7 10 -7 10 7 10 7-4 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.elementor .pd-gov__risk--medium::before { color: var(--pd-amber); }
.elementor .pd-gov__risk--high { --pd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 12V6a1.5 1.5 0 0 1 3 0v5M11 11V4.5a1.5 1.5 0 0 1 3 0V11M14 11V6a1.5 1.5 0 0 1 3 0v8c0 4-2.5 6-5.5 6S7 18 6 15l-2-4a1.5 1.5 0 0 1 2.5-1.5L8 12'/%3E%3C/svg%3E"); }
.elementor .pd-gov__risk--high::before { color: var(--pd-violet); }
.elementor .pd-gov__risk--blocked { --pd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3h8l5 5v8l-5 5H8l-5-5V8z'/%3E%3Cpath d='M9 9l6 6M15 9l-6 6'/%3E%3C/svg%3E"); }
.elementor .pd-gov__risk--blocked::before { color: var(--pd-danger); }

/* Integration strip: letter badge + slow marquee */
.pd-integration-item--text { align-items: center; display: inline-flex; gap: var(--pd-space-12); white-space: nowrap; }
.pd-integration-item__badge { align-items: center; background: var(--pd-violet); border-radius: var(--pd-radius-pill); color: var(--pd-surface); display: inline-flex; font-size: 1rem; font-weight: 700; height: 36px; justify-content: center; width: 36px; }
.pd-integration-item:nth-child(3n+2) .pd-integration-item__badge { background: var(--pd-gradient-aa); }
.pd-integration-item:nth-child(3n) .pd-integration-item__badge { background: var(--pd-ink); }
.pd-integration-marquee { -webkit-mask: linear-gradient(90deg, transparent, black 6%, black 94%, transparent); mask: linear-gradient(90deg, transparent, black 6%, black 94%, transparent); display: flex; overflow: hidden; }
.pd-integration-marquee .pd-integration-list { animation: pd-marquee 38s linear infinite; flex: 0 0 auto; flex-wrap: nowrap; min-width: 100%; justify-content: space-around; padding-inline-end: var(--pd-space-48); box-sizing: border-box; }
.pd-integration-marquee:hover .pd-integration-list { animation-play-state: paused; }
@keyframes pd-marquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }

/* Reveal animation (class added by assets/js/animations.js) */
@keyframes pd-fade-up {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: translateY(0); }
}
.pd-animate { opacity: 0; }
.pd-animate.pd-visible { animation: pd-fade-up 0.6s ease forwards; }
@keyframes pd-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
.pd-hv-tile { animation: pd-float 6s ease-in-out infinite; }
.pd-hv-tile:nth-child(even) { animation-delay: -3s; }
@media (prefers-reduced-motion: reduce) {
	.pd-animate { opacity: 1; }
	.pd-animate.pd-visible,
	.pd-hv-tile,
	.pd-integration-marquee .pd-integration-list { animation: none !important; }
	.pd-integration-list--dup { display: none; }
	.pd-integration-marquee { display: block; -webkit-mask: none; mask: none; }
	.pd-integration-marquee .pd-integration-list { flex-wrap: wrap; }
	.elementor .pd-ag__item:hover, .elementor .pd-pillar:hover, .elementor .pd-feat:hover, .elementor .pd-gov__risk:hover, .pd-uc-card:hover { translate: none; }
}

/* Sign-in coming soon page */
.elementor .pd-signin-page { background: linear-gradient(170deg, var(--pd-tint-violet), var(--pd-paper) 60%); min-height: calc(100vh - 80px); display: flex; align-items: center; justify-content: center; padding: var(--pd-space-64) var(--pd-space-24) !important; }
.elementor .pd-signin__inner { align-items: center !important; display: flex !important; flex-direction: column !important; max-width: 520px !important; text-align: center; }
.pd-signin__icon { color: var(--pd-violet); margin-bottom: var(--pd-space-24); }
.elementor .pd-signin__title .elementor-heading-title { color: var(--pd-ink); font-family: var(--fh); font-size: 2.25rem; line-height: 1.2; margin: 0 0 var(--pd-space-16); }
.elementor .pd-signin__body, .elementor .pd-signin__body p { color: var(--pd-ink-soft); font-size: 1.0625rem; line-height: 1.6; margin: 0 0 var(--pd-space-8); }
.elementor .pd-signin__ctas { display: flex !important; flex-direction: row !important; gap: var(--pd-space-16) !important; justify-content: center !important; margin-top: var(--pd-space-24) !important; padding: 0 !important; }
.elementor .pd-signin__ctas .elementor-widget { margin: 0 !important; }
.elementor .pd-signin__note, .elementor .pd-signin__note p { color: var(--pd-ink-soft); font-size: 0.875rem; margin-top: var(--pd-space-32); }
.elementor .pd-signin__note a { color: var(--pd-violet); }
@media (max-width: 480px) {
	.elementor .pd-signin__ctas { flex-direction: column !important; }
	.elementor .pd-signin__title .elementor-heading-title { font-size: 1.75rem; }
}
