/**
 * Disputeur — component styles.
 *
 * Tokens (palette, type scale, spacing) live in theme.json and are exposed
 * as --wp--preset--* custom properties. This file adds what theme.json can't
 * express: the block styles registered in functions.php (`.is-style-*`),
 * decorative backgrounds (navy sections with spheres, lilac and mint
 * sections), the header and footer, and motion.
 *
 * Contents
 *   1. Base
 *   2. Sections (dark, lilac, soft, mint) and their context colours
 *   3. Typography styles (eyebrow, accents, checks, labels, links)
 *   4. Buttons
 *   5. Cards, tiles, panels, bands
 *   6. Icons
 *   7. Process flows and comparison
 *   8. Lists
 *   9. FAQ (Details block)
 *  10. Media (illustrations, logo grids, industry cards)
 *  11. Header
 *  12. Footer
 *  13. Blog
 *  14. Utilities & motion
 */

/* -------------------------------------------------------------------------
 * 1. Base
 * ---------------------------------------------------------------------- */

:root {
	--dsp-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--dsp-radius-sm: 12px;
	--dsp-radius: 16px;
	--dsp-radius-lg: 22px;
	--dsp-ring: var(--wp--preset--color--line);
	--dsp-accent: var(--wp--preset--color--accent);
	--dsp-eyebrow: var(--wp--preset--color--accent);
	--dsp-heading: var(--wp--preset--color--contrast);
	--dsp-text: var(--wp--preset--color--body);
	--dsp-header-h: 76px;
	--dsp-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
	--dsp-arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E");
	--dsp-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--dsp-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
	--dsp-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E");
	--dsp-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
	--dsp-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
	--dsp-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m10 8 6 4-6 4Z'/%3E%3C/svg%3E");

	/* Parent theme presets mapped onto the brand palette. */
	--wp--preset--color--accent-1: var(--wp--preset--color--blue);
	--wp--preset--color--accent-2: var(--wp--preset--color--blue-50);
	--wp--preset--color--accent-3: var(--wp--preset--color--navy-900);
	--wp--preset--color--accent-4: var(--wp--preset--color--muted);
	--wp--preset--color--accent-5: var(--wp--preset--color--soft);
	--wp--preset--color--accent-6: var(--wp--preset--color--line);
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--dsp-header-h) + 16px);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

::selection {
	background: var(--wp--preset--color--blue);
	color: #fff;
}

.wp-site-blocks > main,
.wp-site-blocks > footer {
	margin-block-start: 0;
}

.dsp-sections > * {
	margin-block-start: 0;
}

/* Accent words in headings: Highlight → "Accent blue" in the editor toolbar. */
mark.has-inline-color {
	padding: 0;
}

/* -------------------------------------------------------------------------
 * 2. Sections
 * ---------------------------------------------------------------------- */

.is-style-section-dark,
.is-style-section-lilac,
.is-style-section-soft,
.is-style-section-mint {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.is-style-section-dark {
	background: var(--wp--preset--gradient--navy);
	color: #fff;
}

/* Brand spheres: large glossy violet orbs bleeding in from the edges. */
.is-style-section-dark::before,
.is-style-section-dark::after,
.site-footer .footer-cta::before,
.site-footer .footer-cta::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	pointer-events: none;
	background: radial-gradient(circle at 68% 30%, #6E62FF 0%, #3A2CE0 26%, #1D1499 52%, #0D0954 78%, #070733 100%);
	box-shadow: 0 0 120px 10px rgba(58, 44, 224, 0.28);
}

.is-style-section-dark::before {
	top: 10%;
	left: -290px;
	width: 380px;
	height: 380px;
}

.is-style-section-dark::after {
	right: -210px;
	bottom: -150px;
	width: 360px;
	height: 360px;
}

.is-style-section-dark.dsp-no-spheres::before,
.is-style-section-dark.dsp-no-spheres::after {
	display: none;
}

@media (max-width: 781px) {
	.is-style-section-dark::before,
	.site-footer .footer-cta::before {
		left: -300px !important;
		opacity: 0.7;
	}

	.is-style-section-dark::after,
	.site-footer .footer-cta::after {
		right: -280px !important;
		opacity: 0.7;
	}
}

.is-style-section-lilac {
	background: var(--wp--preset--gradient--lilac);
}

.is-style-section-lilac::before,
.is-style-section-soft::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(260px circle at -40px 30%, rgba(160, 150, 255, 0.18), transparent 70%),
		radial-gradient(300px circle at calc(100% + 60px) 60%, rgba(160, 150, 255, 0.16), transparent 70%);
}

.is-style-section-soft {
	background-color: var(--wp--preset--color--soft);
}

.is-style-section-mint {
	background: var(--wp--preset--gradient--mint);
}

.is-style-section-mint::before,
.is-style-section-mint::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	pointer-events: none;
	background: radial-gradient(circle at 35% 30%, #F4FFF8 0%, #BDEFD1 45%, #8FDDB0 100%);
	opacity: 0.75;
}

.is-style-section-mint::before {
	top: -40px;
	left: -90px;
	width: 220px;
	height: 220px;
}

.is-style-section-mint::after {
	right: -70px;
	bottom: -50px;
	width: 200px;
	height: 200px;
}

/* Text colours follow the section. */
:is(.is-style-section-dark, .is-style-panel-dark, .is-style-card-dark, .is-style-card-inverted, .site-footer) {
	--dsp-accent: var(--wp--preset--color--accent-light);
	--dsp-eyebrow: rgba(255, 255, 255, 0.72);
	--dsp-heading: #fff;
	--dsp-text: rgba(255, 255, 255, 0.78);
}

:is(.is-style-section-dark, .is-style-panel-dark, .is-style-card-inverted, .site-footer, .is-style-band-blue) :where(h1, h2, h3, h4, h5, h6, .wp-block-post-title) {
	color: var(--dsp-heading, #fff);
}

:is(.is-style-section-dark, .is-style-panel-dark, .is-style-card-inverted, .site-footer) :where(p, li, .wp-block-post-excerpt__excerpt, .wp-block-post-date, .wp-block-post-author-name, .wp-block-disputeur-reading-time) {
	color: var(--dsp-text);
}

:is(.is-style-section-dark, .is-style-panel-dark, .is-style-card-inverted, .site-footer) :where(a:not(.wp-element-button)) {
	color: inherit;
}

/* White cards inside dark sections switch back to light colours. */
:is(.is-style-section-dark, .is-style-panel-dark) :is(.is-style-card, .is-style-tile) {
	--dsp-heading: var(--wp--preset--color--contrast);
	--dsp-text: var(--wp--preset--color--body);
	--dsp-accent: var(--wp--preset--color--accent);
	--dsp-eyebrow: var(--wp--preset--color--accent);
}

:is(.is-style-section-dark, .is-style-panel-dark) :is(.is-style-card, .is-style-tile) :where(h2, h3, h4) {
	color: var(--wp--preset--color--contrast);
}

:is(.is-style-section-dark, .is-style-panel-dark) :is(.is-style-card, .is-style-tile) :where(p, li) {
	color: var(--wp--preset--color--body);
}

/* -------------------------------------------------------------------------
 * 3. Typography styles
 * ---------------------------------------------------------------------- */

:where(h1, h2, h3, h4) mark.has-inline-color.has-accent-color {
	color: var(--dsp-accent) !important;
}

p.is-style-eyebrow {
	color: var(--dsp-eyebrow);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.4;
	text-transform: uppercase;
}

/* Hero value points: "✓ Prevent chargebacks". */
p.is-style-check {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
	color: var(--dsp-text);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
}

p.is-style-check::before {
	content: "";
	flex-shrink: 0;
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 50%;
	background-color: var(--wp--preset--color--blue);
}

p.is-style-check::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0.3rem;
	width: 0.8rem;
	height: 0.8rem;
	margin-top: -0.4rem;
	background-color: #fff;
	-webkit-mask: var(--dsp-check) center / contain no-repeat;
	mask: var(--dsp-check) center / contain no-repeat;
}

p.is-style-check.dsp-green::before {
	background-color: var(--wp--preset--color--green);
}

/* Muted eyebrow (trust strip). */
p.is-style-eyebrow.dsp-muted-eyebrow {
	color: var(--wp--preset--color--muted);
}

/* Small uppercase label (numbers, categories). */
p.is-style-label {
	color: var(--dsp-eyebrow);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Arrow link: "Explore integrations →". In a .dsp-linkcard the whole card is clickable. */
p.is-style-more a {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--wp--preset--color--blue);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-decoration: none;
}

:is(.is-style-section-dark, .is-style-panel-dark) p.is-style-more a {
	color: var(--wp--preset--color--accent-light);
}

p.is-style-more a::after {
	content: "";
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	background-color: currentColor;
	-webkit-mask: var(--dsp-arrow) center / contain no-repeat;
	mask: var(--dsp-arrow) center / contain no-repeat;
	transition: transform 0.15s ease;
}

p.is-style-more a:hover::after,
.dsp-linkcard:hover p.is-style-more a::after {
	transform: translateX(3px);
}

.dsp-linkcard {
	position: relative;
}

.dsp-linkcard p.is-style-more a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

/* Fine print (demo data notes, captions). */
p.dsp-note {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
}

.is-style-section-dark p.dsp-note {
	color: rgba(255, 255, 255, 0.55);
}

/* Big result numbers. */
p.is-style-stat {
	margin: 0;
	color: var(--dsp-heading);
	font-size: clamp(2rem, 1.5rem + 1.8vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.05;
	font-variant-numeric: tabular-nums;
}

p.is-style-tag {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin: 0;
	padding: 0.25rem 0.7rem;
	border-radius: 9999px;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
}

p.is-style-tag:not(.has-background) {
	background-color: var(--wp--preset--color--blue-50);
}

p.is-style-tag:not(.has-text-color) {
	color: var(--wp--preset--color--blue);
}

p.is-style-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	width: fit-content;
	padding: 0.3rem 0.8rem;
	border-radius: 9999px;
	background-color: var(--wp--preset--color--blue-50);
	color: var(--wp--preset--color--blue);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	line-height: 1.5;
}

:is(.is-style-section-dark, .is-style-card-inverted, .is-style-panel-dark) p.is-style-chip {
	background-color: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.9);
}

p.is-style-big-number {
	margin: 0;
	color: var(--wp--preset--color--blue-100);
	font-size: clamp(3rem, 2.4rem + 2vw, 4rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
}

p.is-style-step-number {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--blue-50);
	color: var(--wp--preset--color--blue);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 800;
}

/* -------------------------------------------------------------------------
 * 4. Buttons
 * ---------------------------------------------------------------------- */

.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.wp-block-button:not([class*="is-style-"]) .wp-block-button__link:not(.has-background),
.wp-block-button.is-style-fill .wp-block-button__link:not(.has-background) {
	box-shadow: 0 10px 24px -10px rgba(48, 72, 252, 0.7);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border: 0;
	background: #fff;
	box-shadow: inset 0 0 0 1.5px #C5CCFF;
	color: var(--wp--preset--color--blue);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--blue-50);
	color: var(--wp--preset--color--blue-dark);
}

.wp-block-button.is-style-on-dark .wp-block-button__link {
	background-color: #fff;
	color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-on-dark .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--blue-50);
	color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-outline-dark .wp-block-button__link {
	background-color: transparent;
	box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.28);
	color: #fff;
}

.wp-block-button.is-style-outline-dark .wp-block-button__link:hover {
	background-color: rgba(255, 255, 255, 0.07);
	box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.5);
	color: #fff;
}

/* Text-only button: "See all integrations ↓". */
.wp-block-button.is-style-text .wp-block-button__link {
	padding-inline: 0.25rem;
	background: transparent;
	box-shadow: none;
	color: var(--wp--preset--color--blue);
}

.is-style-section-dark .wp-block-button.is-style-text .wp-block-button__link {
	color: var(--wp--preset--color--accent-light);
}

.wp-block-button.is-style-text .wp-block-button__link:hover {
	background: transparent;
	color: var(--wp--preset--color--blue-dark);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.is-style-section-dark .wp-block-button.is-style-text .wp-block-button__link:hover {
	color: #fff;
}

.wp-block-button:is(.has-arrow, .has-arrow-down, .has-play) .wp-block-button__link::after {
	content: "";
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	background-color: currentColor;
	-webkit-mask: var(--dsp-arrow) center / contain no-repeat;
	mask: var(--dsp-arrow) center / contain no-repeat;
	transition: transform 0.15s ease;
}

.wp-block-button.has-arrow-down .wp-block-button__link::after {
	-webkit-mask-image: var(--dsp-arrow-down);
	mask-image: var(--dsp-arrow-down);
}

.wp-block-button.has-play .wp-block-button__link::after {
	width: 1.35rem;
	height: 1.35rem;
	-webkit-mask-image: var(--dsp-play);
	mask-image: var(--dsp-play);
}

.wp-block-button.has-arrow .wp-block-button__link:hover::after {
	transform: translateX(3px);
}

.wp-block-button.has-arrow-down .wp-block-button__link:hover::after {
	transform: translateY(2px);
}

.dsp-btn-lg .wp-block-button__link {
	padding: 1.05rem 2.1rem;
	font-size: var(--wp--preset--font-size--medium);
}

.wp-block-button.is-width-100 .wp-block-button__link,
.wp-block-buttons.is-vertical .wp-block-button__link {
	width: 100%;
}

/* -------------------------------------------------------------------------
 * 5. Cards, tiles, panels, bands
 * ---------------------------------------------------------------------- */

.is-style-card,
.is-style-card-dark,
.is-style-card-inverted,
.is-style-tile,
.is-style-panel-dark,
.is-style-panel-soft,
.is-style-band-blue {
	position: relative;
}

.is-style-card {
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	border-radius: var(--dsp-radius);
	background-color: #fff;
	box-shadow: 0 0 0 1px var(--dsp-ring), var(--wp--preset--shadow--card);
	transition: box-shadow 0.2s ease;
}

.is-style-card.dsp-linkcard:hover,
.is-style-card.dsp-hover:hover {
	box-shadow: 0 0 0 1px var(--wp--preset--color--blue-100), var(--wp--preset--shadow--raised);
}

.is-style-card :where(h3, h4) {
	color: var(--wp--preset--color--contrast);
}

.is-style-card :where(p) {
	color: var(--wp--preset--color--body);
}

.is-style-card-dark {
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	border-radius: var(--dsp-radius);
	background-color: rgba(255, 255, 255, 0.04);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.is-style-card-inverted {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border-radius: var(--dsp-radius-lg);
	background: var(--wp--preset--gradient--navy);
	box-shadow: 0 30px 60px -30px rgba(7, 13, 51, 0.6);
}

.is-style-tile {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 5.5rem;
	padding: 1.1rem 1.25rem;
	border-radius: var(--dsp-radius-sm);
	background-color: #fff;
	box-shadow: 0 0 0 1px var(--dsp-ring), 0 6px 18px -12px rgba(11, 16, 53, 0.25);
}

.is-style-tile p {
	margin: 0;
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
}

/* Rounded navy band inside a light section ("Real results"). */
.is-style-panel-dark {
	isolation: isolate;
	overflow: hidden;
	padding: clamp(1.75rem, 3.5vw, 2.5rem) clamp(1.5rem, 4vw, 3.25rem);
	border-radius: var(--dsp-radius);
	background:
		radial-gradient(600px 300px at 85% 50%, rgba(48, 72, 252, 0.35), transparent 70%),
		linear-gradient(90deg, #070D33 0%, #0D1260 100%);
	box-shadow: 0 30px 60px -36px rgba(7, 13, 51, 0.8);
}

.is-style-panel-soft {
	isolation: isolate;
	overflow: hidden;
	padding: clamp(1.75rem, 4vw, 2.75rem);
	border-radius: var(--dsp-radius-lg);
	background: linear-gradient(135deg, var(--wp--preset--color--soft), #fff);
	box-shadow: inset 0 0 0 1px var(--dsp-ring);
	transition: box-shadow 0.2s ease;
}

.is-style-panel-soft.dsp-linkcard:hover {
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--blue-100), var(--wp--preset--shadow--raised);
}

/* Full-width bright blue band (Insights CTA). */
.is-style-band-blue {
	background: var(--wp--preset--gradient--blue-band);
	color: #fff;
	--dsp-heading: #fff;
	--dsp-text: rgba(255, 255, 255, 0.85);
}

.is-style-band-blue :where(p) {
	color: var(--dsp-text);
}

/* Results row: numbers separated by hairlines. */
.is-style-stats {
	gap: 0 !important;
}

.is-style-stats p.is-style-stat {
	font-size: clamp(1.6rem, 1rem + 1.5vw, 2.25rem);
	white-space: nowrap;
}

/* Stats overlapping a hero (industry pages) sit on their own navy panel. */
.dsp-overlap .is-style-stats {
	overflow: hidden;
	padding: 1.5rem 0.5rem;
	border-radius: var(--dsp-radius);
	background: linear-gradient(90deg, #070D33 0%, #0D1260 100%);
	box-shadow: 0 30px 60px -36px rgba(7, 13, 51, 0.8);
	--dsp-heading: #fff;
}

.dsp-overlap .is-style-stats > * {
	background: transparent !important;
}

/* Old-style soft panels with an arrow link are fully clickable. */
.is-style-panel-soft:has(p.is-style-more) {
	position: relative;
}

.is-style-panel-soft:has(p.is-style-more) p.is-style-more a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

p.dsp-star {
	margin: 0;
	color: var(--wp--preset--color--blue-100);
	font-size: 1.75rem;
	line-height: 1;
}

.dsp-num {
	margin-right: 0.35rem;
	color: var(--wp--preset--color--muted);
	font-weight: 600;
}

.is-style-stats > * {
	padding: 0.25rem clamp(0.75rem, 2vw, 1.5rem);
	border-left: 1px solid rgba(255, 255, 255, 0.12);
	text-align: center;
}

.is-style-stats > :first-child {
	border-left: 0;
}

.is-style-stats p:not(.is-style-stat) {
	margin-top: 0.4rem;
	color: rgba(255, 255, 255, 0.78);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.35;
}

@media (max-width: 781px) {
	.is-style-stats > * {
		padding-block: 1rem;
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.12);
	}

	.is-style-stats > :nth-child(-n + 2) {
		border-top: 0;
	}
}

/* Hero feature chips: icon + two-line label. */
.dsp-feature-chip p {
	margin: 0;
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	line-height: 1.35;
}

/* -------------------------------------------------------------------------
 * 6. Icons (disputeur/icon block appearances)
 * ---------------------------------------------------------------------- */

.wp-block-disputeur-icon.is-appearance-badge:not(.is-brand) {
	border-radius: 14px;
	background-color: var(--wp--preset--color--blue-50);
	box-shadow: none;
	color: var(--wp--preset--color--blue);
}

.wp-block-disputeur-icon.is-appearance-circle {
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 1px var(--dsp-ring), 0 10px 24px -14px rgba(48, 72, 252, 0.55);
	color: var(--wp--preset--color--blue);
}

.wp-block-disputeur-icon.is-appearance-soft {
	border-radius: 50%;
	background: var(--wp--preset--color--blue-50);
	color: var(--wp--preset--color--blue);
}

.wp-block-disputeur-icon.is-appearance-solid {
	border-radius: 14px;
	background: linear-gradient(145deg, #4A63FF, #2A3FE8);
	box-shadow: 0 12px 24px -14px rgba(48, 72, 252, 0.9);
	color: #fff;
}

.wp-block-disputeur-icon.is-appearance-plain:not(.has-text-color) {
	color: var(--wp--preset--color--blue);
}

.wp-block-disputeur-icon.is-size-xl {
	width: 4.5rem;
	height: 4.5rem;
}

.wp-block-disputeur-icon.is-size-xl svg {
	width: 2rem;
	height: 2rem;
}

.is-style-section-dark .wp-block-disputeur-icon.is-appearance-badge:not(.is-brand) {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.is-style-section-dark .wp-block-disputeur-icon.is-appearance-soft {
	background: rgba(48, 72, 252, 0.28);
	color: #fff;
}

/* -------------------------------------------------------------------------
 * 7. Process flows and comparison
 * ---------------------------------------------------------------------- */

.is-style-flow > * {
	position: relative;
}

/* Arrows between steps (desktop). */
@media (min-width: 782px) {
	.is-style-flow > :not(:last-child)::after {
		content: "";
		position: absolute;
		top: 1.6rem;
		right: -1.85rem;
		width: 1.2rem;
		height: 1.2rem;
		background-color: var(--wp--preset--color--body);
		-webkit-mask: var(--dsp-arrow) center / contain no-repeat;
		mask: var(--dsp-arrow) center / contain no-repeat;
	}

	/* Variant with long connector lines between round icons. */
	.is-style-flow.dsp-flow-lines > :not(:last-child)::after {
		top: 2.25rem;
		right: auto;
		left: 5.5rem;
		width: calc(100% - 5.5rem + 0.25rem);
		height: 0.9rem;
		background: linear-gradient(90deg, rgba(48, 72, 252, 0.35), rgba(48, 72, 252, 0.55)) left center / calc(100% - 0.5rem) 1.5px no-repeat;
		-webkit-mask: none;
		mask: none;
	}

	.is-style-flow.dsp-flow-lines > :not(:last-child)::before {
		content: "";
		position: absolute;
		top: 2.25rem;
		left: calc(100% - 0.6rem);
		width: 0.9rem;
		height: 0.9rem;
		background-color: rgba(48, 72, 252, 0.6);
		-webkit-mask: var(--dsp-chevron) center / contain no-repeat;
		mask: var(--dsp-chevron) center / contain no-repeat;
	}
}

.dsp-step-num {
	margin: 0 !important;
	color: var(--wp--preset--color--blue) !important;
	font-size: var(--wp--preset--font-size--large) !important;
	font-weight: 800;
}

/* Platform: resolution options card between steps 3 and 4. */
.dsp-resolution > p {
	margin: 0 0 0.6rem !important;
	color: var(--wp--preset--color--contrast) !important;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	text-align: center;
}

.dsp-resolution .is-style-card {
	overflow: hidden;
	padding: 0;
}

.dsp-resolution .is-style-card > .wp-block-group {
	margin: 0;
	padding: 1rem 1.15rem;
}

.dsp-resolution .is-style-card > .wp-block-group + .wp-block-group {
	border-top: 1px solid var(--dsp-ring);
}

.dsp-resolution h3 {
	font-size: var(--wp--preset--font-size--medium) !important;
}

.dsp-resolution p {
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.45;
}

/* Manual vs automated. */
.dsp-vs > .wp-block-column:first-child {
	position: relative;
}

.dsp-vs > .wp-block-column:first-child::after {
	content: "VS";
	position: absolute;
	top: 50%;
	right: calc(-2.75rem - clamp(2rem, 4vw, 3rem) / 2);
	z-index: 2;
	display: grid;
	place-items: center;
	width: 5.5rem;
	height: 5.5rem;
	border-radius: 50%;
	background: linear-gradient(145deg, #4A63FF, #2236D9);
	box-shadow: 0 0 0 8px rgba(48, 72, 252, 0.18), 0 20px 40px -18px rgba(0, 0, 0, 0.6);
	color: #fff;
	font-size: 1.6rem;
	font-weight: 800;
	transform: translateY(-50%);
}

@media (max-width: 781px) {
	.dsp-vs > .wp-block-column:first-child::after {
		top: auto;
		right: 50%;
		bottom: -3.25rem;
		width: 4rem;
		height: 4rem;
		font-size: 1.2rem;
		transform: translateX(50%);
	}

	.dsp-vs {
		gap: 3.75rem !important;
	}
}

.dsp-vs .is-style-card {
	height: 100%;
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

/* -------------------------------------------------------------------------
 * 8. Lists
 * ---------------------------------------------------------------------- */

ul:is(.is-style-checklist, .is-style-crosslist) {
	padding-left: 0;
	list-style: none;
}

ul:is(.is-style-checklist, .is-style-crosslist) > li {
	position: relative;
	margin-top: 0.85rem;
	padding-left: 2.1rem;
	color: var(--wp--preset--color--contrast);
	font-weight: 500;
}

ul:is(.is-style-checklist, .is-style-crosslist) > li::before,
ul:is(.is-style-checklist, .is-style-crosslist) > li::after {
	content: "";
	position: absolute;
	top: 0.15em;
	left: 0;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 50%;
}

ul.is-style-checklist > li::before {
	background-color: var(--wp--preset--color--green);
}

ul.is-style-crosslist > li::before {
	background-color: var(--wp--preset--color--danger);
}

ul:is(.is-style-checklist, .is-style-crosslist) > li::after {
	background-color: #fff;
	-webkit-mask: var(--dsp-check) center / 0.75rem no-repeat;
	mask: var(--dsp-check) center / 0.75rem no-repeat;
}

ul.is-style-crosslist > li::after {
	-webkit-mask-image: var(--dsp-x);
	mask-image: var(--dsp-x);
	-webkit-mask-size: 0.7rem;
	mask-size: 0.7rem;
}

ul.is-style-checklist.dsp-blue > li::before {
	background-color: var(--wp--preset--color--blue);
}

:is(.is-style-section-dark, .is-style-card-inverted) ul:is(.is-style-checklist, .is-style-crosslist) > li {
	color: rgba(255, 255, 255, 0.88);
}

:is(.is-style-section-dark, .is-style-card-inverted) .is-style-card ul:is(.is-style-checklist, .is-style-crosslist) > li {
	color: var(--wp--preset--color--contrast);
}

ol.is-style-steps {
	counter-reset: dsp-step;
	padding-left: 0;
	list-style: none;
}

ol.is-style-steps > li {
	counter-increment: dsp-step;
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin-top: 1rem;
	padding: 1.25rem;
	border-radius: var(--dsp-radius);
	background: #fff;
	box-shadow: 0 0 0 1px var(--dsp-ring), var(--wp--preset--shadow--card);
	color: var(--wp--preset--color--contrast);
	font-weight: 500;
}

ol.is-style-steps > li::before {
	content: counter(dsp-step, decimal-leading-zero);
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	margin-top: -0.25rem;
	border-radius: 50%;
	background: var(--wp--preset--color--blue);
	color: #fff;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 800;
}

/* -------------------------------------------------------------------------
 * 9. FAQ (core Details block)
 * ---------------------------------------------------------------------- */

.wp-block-details {
	position: relative;
	padding: 1.05rem 0.25rem;
	border-bottom: 1px solid var(--dsp-ring);
}

.wp-block-details:last-child {
	border-bottom: 0;
}

.wp-block-details + .wp-block-details {
	margin-block-start: 0;
}

.wp-block-details summary {
	position: relative;
	display: block;
	padding: 0 2.25rem 0 1.85rem;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	line-height: 1.45;
	list-style: none;
	cursor: pointer;
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

/* Chevron on the left… */
.wp-block-details summary::before {
	content: "";
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 1.05rem;
	height: 1.05rem;
	background-color: var(--wp--preset--color--contrast);
	-webkit-mask: var(--dsp-chevron) center / contain no-repeat;
	mask: var(--dsp-chevron) center / contain no-repeat;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

/* …plus / minus on the right. */
.wp-block-details summary::after {
	content: "";
	position: absolute;
	top: 0.2em;
	right: 0.25rem;
	width: 1.05rem;
	height: 1.05rem;
	background-color: var(--wp--preset--color--blue);
	-webkit-mask: var(--dsp-plus) center / contain no-repeat;
	mask: var(--dsp-plus) center / contain no-repeat;
}

.wp-block-details[open] summary {
	color: var(--wp--preset--color--blue);
}

.wp-block-details[open] summary::before {
	background-color: var(--wp--preset--color--blue);
	transform: rotate(90deg);
}

.wp-block-details[open] summary::after {
	-webkit-mask-image: var(--dsp-minus);
	mask-image: var(--dsp-minus);
}

.wp-block-details summary:focus-visible {
	border-radius: 4px;
	outline: 2px solid var(--wp--preset--color--accent-light);
	outline-offset: 4px;
}

.wp-block-details > :not(summary) {
	margin-block-start: 0.75rem;
	padding-left: 1.85rem;
	color: var(--wp--preset--color--body);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.65;
}

/* Card variant: every question is its own white card. */
.wp-block-details.is-style-card {
	padding: 1.1rem 1.35rem;
	border: 0;
	border-radius: var(--dsp-radius-sm);
	box-shadow: 0 0 0 1px var(--dsp-ring), 0 6px 18px -14px rgba(11, 16, 53, 0.3);
}

.wp-block-details.is-style-card + .wp-block-details.is-style-card {
	margin-block-start: 0.75rem;
}

.wp-block-details.is-style-card[open] {
	background: #F6F5FF;
	box-shadow: 0 0 0 1px #DCD9FF;
}

/* A white card that holds a list of rows. */
.dsp-faq-list {
	padding-block: 0.4rem !important;
}

/* -------------------------------------------------------------------------
 * 10. Media
 * ---------------------------------------------------------------------- */

/* Soft glow behind illustrations in light sections. */
.dsp-glow {
	position: relative;
	isolation: isolate;
}

.dsp-glow::before {
	content: "";
	position: absolute;
	inset: 6% 2%;
	z-index: -1;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(110, 120, 255, 0.3), transparent);
	filter: blur(30px);
}

/* Trust strip logos. */
.dsp-logo-strip .wp-block-disputeur-icon.is-wordmark {
	height: 1.8rem;
}

.is-style-tile .wp-block-disputeur-icon.is-wordmark {
	height: 2.4rem;
	max-width: 85%;
}

.is-style-tile .wp-block-disputeur-icon.is-brand + p {
	font-size: var(--wp--preset--font-size--small);
}

/* Product capability cards: link pinned to the bottom. */
.dsp-capability > :last-child {
	margin-top: auto !important;
}

/* Industry cards: picture on top, label bar below. */
.dsp-industry {
	overflow: hidden;
	padding: 0 !important;
}

.dsp-industry .wp-block-image {
	margin: 0;
}

.dsp-industry .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 1;
	object-fit: cover;
	transition: transform 0.4s var(--dsp-ease);
}

.dsp-industry:hover .wp-block-image img {
	transform: scale(1.04);
}

.dsp-industry > .wp-block-group {
	margin: 0 !important;
	padding: 1rem 1.15rem;
}

.dsp-industry p.is-style-more {
	flex: 1;
	margin: 0;
}

.dsp-industry p.is-style-more a {
	display: flex;
	width: 100%;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--x-small);
}

.dsp-industry p.is-style-more a::after {
	margin-left: auto;
	color: var(--wp--preset--color--blue);
	background-color: var(--wp--preset--color--blue);
}

/* -------------------------------------------------------------------------
 * 11. Header
 * ---------------------------------------------------------------------- */

header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}

.site-header {
	background-color: #040824;
	transition: box-shadow 0.2s ease, background-color 0.2s ease;
}

.site-header.is-scrolled {
	background-color: rgba(4, 8, 36, 0.92);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06), 0 10px 30px -18px rgba(0, 0, 0, 0.6);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.site-header > .wp-block-group {
	min-height: var(--dsp-header-h);
}

.site-wordmark {
	margin: 0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
}

.site-wordmark a {
	color: #fff !important;
	text-decoration: none;
}

.site-wordmark mark,
.footer-brand mark {
	color: var(--wp--preset--color--accent-light) !important;
}

/* Desktop navigation. */
.site-header .wp-block-navigation {
	--navigation-layout-gap: 2rem;
}

.site-header .wp-block-navigation .wp-block-navigation-item__content,
.site-header .wp-block-navigation .wp-block-navigation-submenu__toggle {
	color: rgba(255, 255, 255, 0.86);
	font-weight: 500;
}

.site-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.site-header .wp-block-navigation .has-child:hover > .wp-block-navigation-item__content,
.site-header .wp-block-navigation .has-child:hover > .wp-block-navigation-submenu__toggle {
	color: #fff;
}

.site-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.site-header .wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content,
.site-header .wp-block-navigation .current-menu-ancestor > .wp-block-navigation-submenu__toggle {
	color: var(--wp--preset--color--accent-light);
}

.site-header .wp-block-navigation__submenu-icon {
	margin-left: 0.35rem;
}

.site-header .wp-block-navigation__submenu-icon svg {
	width: 0.65rem;
	height: 0.65rem;
	stroke-width: 2.5;
}

/* Dropdown panel. */
.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	top: calc(100% + 0.75rem) !important;
	min-width: 15rem !important;
	padding: 0.5rem !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 14px;
	background: #0B1240 !important;
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.7);
}

/* Hover bridge so the menu doesn't close in the gap. */
.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	top: -0.9rem;
	right: 0;
	left: 0;
	height: 0.9rem;
}

.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex !important;
	align-items: center;
	gap: 0.8rem;
	padding: 0.7rem 0.85rem !important;
	border-radius: 10px;
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: var(--wp--preset--font-size--small);
}

.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	margin-left: auto;
	background-color: rgba(255, 255, 255, 0.5);
	-webkit-mask: var(--dsp-chevron) center / contain no-repeat;
	mask: var(--dsp-chevron) center / contain no-repeat;
}

.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.site-header .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
	background: rgba(92, 119, 255, 0.18);
	color: #fff !important;
}

/* Menu item icons (Product dropdown). */
.site-header [class*="dsp-ico-"] > .wp-block-navigation-item__content::before {
	content: "";
	flex-shrink: 0;
	width: 1.2rem;
	height: 1.2rem;
	background-color: currentColor;
	-webkit-mask: var(--dsp-ico) center / contain no-repeat;
	mask: var(--dsp-ico) center / contain no-repeat;
}

.dsp-ico-layers { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z'/%3E%3Cpath d='m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65'/%3E%3Cpath d='m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65'/%3E%3C/svg%3E"); }
.dsp-ico-bell { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E"); }
.dsp-ico-chart { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='4' height='10' rx='1'/%3E%3Crect x='10' y='4' width='4' height='16' rx='1'/%3E%3Crect x='16' y='13' width='4' height='7' rx='1'/%3E%3C/svg%3E"); }
.dsp-ico-plug { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22v-5'/%3E%3Cpath d='M9 8V2'/%3E%3Cpath d='M15 8V2'/%3E%3Cpath d='M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z'/%3E%3C/svg%3E"); }
.dsp-ico-rocket { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09'/%3E%3Cpath d='M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05'/%3E%3C/svg%3E"); }
.dsp-ico-briefcase { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 12h.01'/%3E%3Cpath d='M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2'/%3E%3Cpath d='M22 13a18.15 18.15 0 0 1-20 0'/%3E%3Crect width='20' height='14' x='2' y='6' rx='2'/%3E%3C/svg%3E"); }
.dsp-ico-cart { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.05 2.05 1.099-.028a1 1 0 0 1 1.008.815l2.69 14.347A1 1 0 0 0 7.83 18H18'/%3E%3Cpath d='M4.563 5h16.435a1 1 0 0 1 .981 1.204l-1.026 6.226A2 2 0 0 1 18.962 14H6.25'/%3E%3Ccircle cx='18' cy='20' r='2'/%3E%3Ccircle cx='8' cy='20' r='2'/%3E%3C/svg%3E"); }
.dsp-ico-gamepad { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='6' x2='10' y1='11' y2='11'/%3E%3Cline x1='8' x2='8' y1='9' y2='13'/%3E%3Cline x1='15' x2='15.01' y1='12' y2='12'/%3E%3Cline x1='18' x2='18.01' y1='10' y2='10'/%3E%3Cpath d='M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z'/%3E%3C/svg%3E"); }
.dsp-ico-repeat { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m17 2 4 4-4 4'/%3E%3Cpath d='M3 11v-1a4 4 0 0 1 4-4h14'/%3E%3Cpath d='m7 22-4-4 4-4'/%3E%3Cpath d='M21 13v1a4 4 0 0 1-4 4H3'/%3E%3C/svg%3E"); }
.dsp-ico-leaf { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20a10 10 0 0010-10 25.9 25.9 0 00-1.04-7.281 1 1 0 00-1.755-.325C15.833 5.5 13 5.5 9.8 6.1A7 7 0 0011 20'/%3E%3Cpath d='M2 21a5 5 0 012.911-4.544C7.613 15.212 8.351 15.24 11 13'/%3E%3C/svg%3E"); }
.dsp-ico-blog { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18h-5'/%3E%3Cpath d='M18 14h-8'/%3E%3Cpath d='M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2'/%3E%3Crect width='8' height='4' x='10' y='6' rx='1'/%3E%3C/svg%3E"); }
.dsp-ico-book { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v16'/%3E%3Cpath d='M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z'/%3E%3C/svg%3E"); }
.dsp-ico-help { --dsp-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m4.93 4.93 4.24 4.24'/%3E%3Cpath d='m14.83 9.17 4.24-4.24'/%3E%3Cpath d='m14.83 14.83 4.24 4.24'/%3E%3Cpath d='m9.17 14.83-4.24 4.24'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/svg%3E"); }

/* Menu items with a description line (Solutions dropdown). */
.site-header .wp-block-navigation-item__content:has(> .wp-block-navigation-item__description) {
	display: grid !important;
	grid-template-columns: auto 1fr auto;
	column-gap: 0.9rem;
	row-gap: 0.1rem;
	min-width: 20rem;
}

.site-header .wp-block-navigation-item__content:has(> .wp-block-navigation-item__description)::before {
	grid-row: 1 / span 2;
	align-self: center;
	width: 1.45rem !important;
	height: 1.45rem !important;
}

.site-header .wp-block-navigation-item__content:has(> .wp-block-navigation-item__description)::after {
	grid-row: 1 / span 2;
	grid-column: 3;
	align-self: center;
}

.site-header .wp-block-navigation-item__content:has(> .wp-block-navigation-item__description) .wp-block-navigation-item__label {
	color: #fff;
	font-weight: 600;
}

.site-header .wp-block-navigation-item__description {
	display: block;
	grid-column: 2;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.8125rem;
	line-height: 1.35;
}

/* Header actions: Log in + Book a demo. */
.site-header .header-actions {
	display: none !important;
}

.site-header .header-actions p {
	margin: 0;
}

.site-header .header-actions p a {
	color: rgba(255, 255, 255, 0.86);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	text-decoration: none;
}

.site-header .header-actions p a:hover {
	color: #fff;
}

.site-header .header-actions .wp-block-button__link {
	padding: 0.7rem 1.15rem;
	border-radius: 10px;
	font-size: var(--wp--preset--font-size--x-small);
}

@media (min-width: 1080px) {
	.site-header .header-actions {
		display: flex !important;
	}
}

.wp-block-navigation__responsive-container:not(.is-menu-open) .is-mobile-only {
	display: none !important;
}

/* Below 1080px the menu lives in a full-screen overlay. */
@media (min-width: 600px) and (max-width: 1079px) {
	.site-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

.site-header .wp-block-navigation__responsive-container-open,
.site-header .wp-block-navigation__responsive-container-close {
	color: #fff;
}

.site-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem clamp(1.25rem, 4vw, 2.5rem);
	background: #040824 !important;
	color: #fff !important;
}

.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch;
	padding-top: 2.5rem;
}

.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0.15rem;
	width: 100%;
}

.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
}

.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: flex;
	width: 100%;
	padding: 0.6rem 0.5rem;
	border-radius: 10px;
	color: #fff;
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
}

.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	align-items: stretch !important;
	box-sizing: border-box;
	width: 100%;
	padding: 0 0 0.5rem 0.75rem !important;
	border: 0 !important;
	background: transparent !important;
}

.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	align-items: stretch !important;
}

.site-header .wp-block-navigation__responsive-container.is-menu-open :focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-light);
	outline-offset: 2px;
}

.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: rgba(255, 255, 255, 0.75) !important;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
}

.site-header .wp-block-navigation__responsive-container.is-menu-open .is-menu-cta > .wp-block-navigation-item__content {
	justify-content: center;
	margin-top: 0.75rem;
	border-radius: 9999px;
	background: var(--wp--preset--color--blue);
	font-weight: 700;
}

/* -------------------------------------------------------------------------
 * 12. Footer
 * ---------------------------------------------------------------------- */

.site-footer {
	position: relative;
	overflow: hidden;
	background: #030722;
	color: #fff;
}

/* Contact band. */
.site-footer .footer-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(900px 420px at 30% 0%, rgba(48, 72, 252, 0.22), transparent 70%),
		linear-gradient(180deg, #060C34 0%, #070D33 100%);
}

.site-footer .footer-cta::before {
	bottom: -220px;
	left: -230px;
	width: 400px;
	height: 400px;
}

.site-footer .footer-cta::after {
	top: 30px;
	right: -250px;
	width: 380px;
	height: 380px;
}

.site-footer .footer-brand {
	margin: 0;
	color: #fff;
	font-size: clamp(3rem, 2rem + 4vw, 4.75rem);
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 1;
}

.site-footer .footer-cta h2 {
	margin-top: 0.75rem;
	font-size: var(--wp--preset--font-size--display-md);
	line-height: 1.15;
}

.site-footer .footer-cta p.is-style-eyebrow {
	color: var(--wp--preset--color--accent-light);
}

.site-footer .footer-contact-col {
	padding-left: clamp(0rem, 3vw, 2.5rem);
	border-left: 1px solid rgba(255, 255, 255, 0.1);
}

@media (max-width: 781px) {
	.site-footer .footer-contact-col {
		padding-left: 0;
		border-left: 0;
	}
}

.site-footer .footer-contact-item p {
	margin: 0;
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.55;
}

.site-footer .footer-contact-item a {
	text-decoration: none;
}

.site-footer .footer-contact-item a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.site-footer .footer-contact-item .wp-block-disputeur-icon {
	width: 3rem;
	height: 3rem;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.07) !important;
	color: #fff !important;
}

/* Links area. */
.site-footer .footer-links .site-wordmark {
	font-size: 1.35rem;
}

.site-footer .footer-heading {
	margin: 0;
	color: #fff;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

.site-footer .wp-block-navigation {
	--navigation-layout-gap: 0.55rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
}

.site-footer .wp-block-navigation .wp-block-navigation-item__content {
	color: rgba(255, 255, 255, 0.72);
}

/* Footer link columns size to their content. */
@media (min-width: 1000px) {
	.site-footer .dsp-footer-cols {
		display: flex !important;
		justify-content: space-between;
		gap: 1.5rem !important;
	}

	.site-footer .dsp-footer-cols .wp-block-navigation-item__content {
		white-space: nowrap;
	}
}

.site-footer .wp-block-navigation .wp-block-navigation-item__content:hover {
	color: #fff;
}

.site-footer .wp-block-social-links .wp-social-link {
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.07) !important;
	color: #fff !important;
	transition: background-color 0.15s ease;
}

.site-footer .wp-block-social-links .wp-social-link:hover {
	background: rgba(255, 255, 255, 0.14) !important;
	transform: none;
}

.site-footer .wp-block-social-links .wp-social-link a {
	padding: 0.55rem;
}

.site-footer .footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer .footer-bottom p {
	margin: 0;
	color: rgba(255, 255, 255, 0.65) !important;
	font-size: var(--wp--preset--font-size--x-small);
}

/* -------------------------------------------------------------------------
 * 13. Blog
 * ---------------------------------------------------------------------- */

.is-style-card .wp-block-post-title a:hover {
	color: var(--wp--preset--color--blue);
}

.is-style-card .wp-block-post-terms,
.is-style-card .wp-block-post-terms a {
	color: var(--wp--preset--color--blue);
}

:is(.is-style-section-dark, .is-style-card-inverted) .wp-block-post-terms,
:is(.is-style-section-dark, .is-style-card-inverted) .wp-block-post-terms a {
	color: var(--wp--preset--color--accent-light);
}

.dsp-meta {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
}

.dsp-meta > * {
	margin: 0;
}

:is(.is-style-section-dark, .is-style-card-inverted) .dsp-meta > * {
	color: rgba(255, 255, 255, 0.65);
	font-size: var(--wp--preset--font-size--small);
}

.dsp-meta .dsp-dot::before {
	content: "·";
}

:is(.is-style-card, .is-style-card-inverted) .wp-block-read-more {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--wp--preset--color--blue);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	text-decoration: none;
}

.is-style-card-inverted .wp-block-read-more {
	color: var(--wp--preset--color--accent-light);
	font-size: var(--wp--preset--font-size--small);
}

:is(.is-style-card, .is-style-card-inverted) .wp-block-read-more::after {
	content: "";
	width: 0.9rem;
	height: 0.9rem;
	background-color: currentColor;
	-webkit-mask: var(--dsp-arrow) center / contain no-repeat;
	mask: var(--dsp-arrow) center / contain no-repeat;
	transition: transform 0.15s ease;
}

:is(.is-style-card, .is-style-card-inverted):hover .wp-block-read-more::after {
	transform: translateX(3px);
}

:is(.is-style-card, .is-style-card-inverted) .wp-block-read-more::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

.dsp-card-media {
	margin: calc(-1 * clamp(1.25rem, 2.5vw, 1.75rem)) calc(-1 * clamp(1.25rem, 2.5vw, 1.75rem)) 0.5rem !important;
}

.dsp-card-media img {
	border-radius: var(--dsp-radius) var(--dsp-radius) 0 0 !important;
}

.dsp-featured-media img {
	border-radius: var(--dsp-radius) !important;
}

.dsp-article > p,
.dsp-article > :is(ul, ol) {
	color: #3D4364;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.75;
}

.dsp-article > :is(ul, ol) {
	padding-left: 1.5rem;
}

.dsp-article > :is(h2, h3) {
	margin-top: 2.5rem;
}

.dsp-article > h2 {
	font-size: var(--wp--preset--font-size--xx-large);
}

.dsp-article > h3 {
	font-size: var(--wp--preset--font-size--x-large);
}

.dsp-article a,
.dsp-legal a {
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.dsp-cover img {
	border-radius: var(--dsp-radius) !important;
	box-shadow: 0 0 0 1px var(--dsp-ring), var(--wp--preset--shadow--card);
}

.dsp-legal > :is(ul, ol) {
	padding-left: 1.5rem;
}

.dsp-legal > p,
.dsp-legal li {
	line-height: 1.7;
}

.dsp-post-nav .post-navigation-link-previous,
.dsp-post-nav .post-navigation-link-next {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	height: 100%;
	padding: 1.5rem;
	border-radius: var(--dsp-radius);
	background: #fff;
	box-shadow: 0 0 0 1px var(--dsp-ring), var(--wp--preset--shadow--card);
	transition: box-shadow 0.2s ease;
}

.dsp-post-nav .post-navigation-link-next {
	align-items: flex-end;
	text-align: right;
}

.dsp-post-nav :is(.post-navigation-link-previous, .post-navigation-link-next):hover {
	box-shadow: 0 0 0 1px var(--wp--preset--color--blue-100), var(--wp--preset--shadow--raised);
}

.dsp-post-nav .wp-block-post-navigation-link__label {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.dsp-post-nav a {
	color: var(--wp--preset--color--contrast);
	font-weight: 700;
	text-decoration: none;
}

.dsp-post-nav a::before {
	content: "";
	position: absolute;
	inset: 0;
}

.dsp-post-nav a:hover {
	color: var(--wp--preset--color--blue);
}

.dsp-back a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: rgba(255, 255, 255, 0.75);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
}

.dsp-back a::before {
	content: "";
	width: 1rem;
	height: 1rem;
	background-color: currentColor;
	-webkit-mask: var(--dsp-arrow) center / contain no-repeat;
	mask: var(--dsp-arrow) center / contain no-repeat;
	transform: rotate(180deg);
}

.dsp-back a:hover {
	color: #fff;
}

.wp-block-query-pagination a {
	color: var(--wp--preset--color--blue);
	text-decoration: none;
}

/* -------------------------------------------------------------------------
 * 14. Utilities & motion
 * ---------------------------------------------------------------------- */

.dsp-measure {
	max-width: 46rem;
}

.dsp-measure-sm {
	max-width: 36rem;
}

.dsp-measure-xs {
	max-width: 28rem;
}

.dsp-overlap {
	position: relative;
	z-index: 2;
	margin-top: calc(-1 * clamp(4rem, 8vw, 6rem)) !important;
}

.dsp-sticky {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--dsp-header-h) + 1.5rem);
}

@media (max-width: 781px) {
	.dsp-sticky {
		position: static;
	}

	.dsp-hide-mobile {
		display: none !important;
	}
}

@media (min-width: 782px) {
	.dsp-span-2 {
		grid-column: span 2;
	}
}

.dsp-rule-bottom {
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--dsp-ring);
}

.dsp-rule-top {
	border-top: 1px solid var(--dsp-ring);
}

.dsp-callout {
	padding: 1.25rem 1.5rem;
	border-radius: var(--dsp-radius);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--blue-100);
}

.dsp-form-card {
	padding: clamp(1.75rem, 4vw, 2.5rem);
}

/* Pricing (single offer card). */
.dsp-tier p.dsp-price {
	margin: 0;
	color: #fff !important;
	font-size: clamp(3rem, 2rem + 3vw, 4.5rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
}

.dsp-tier p.dsp-price-unit {
	margin: 0 0 0.35rem;
	color: rgba(255, 255, 255, 0.65) !important;
	white-space: nowrap;
}

.dsp-tier p.dsp-per-alert {
	color: var(--wp--preset--color--green-bright) !important;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

@media (min-width: 782px) {
	ul.dsp-two-col {
		columns: 2;
		column-gap: 2rem;
	}

	ul.dsp-two-col > li {
		break-inside: avoid;
	}

	ul.dsp-two-col > li:first-child {
		margin-top: 0;
	}
}

p.dsp-contact-value a {
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
	text-decoration: none;
}

p.dsp-contact-value a:hover {
	color: var(--wp--preset--color--blue);
}

.dsp-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.7s var(--dsp-ease), transform 0.7s var(--dsp-ease);
}

.dsp-reveal.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.dsp-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* -------------------------------------------------------------------------
 * 15. Solutions pages
 * ---------------------------------------------------------------------- */

/* Accent words in solution heroes. */
.has-lavender-color { color: var(--wp--preset--color--lavender) !important; }
.has-orchid-color { color: var(--wp--preset--color--orchid) !important; }

.dsp-solution-hero h1 {
	font-size: clamp(2.25rem, 1.45rem + 2.2vw, 3.1rem);
}

.dsp-nowrap {
	white-space: nowrap;
}

.dsp-hero-violet {
	background:
		radial-gradient(60% 80% at 75% 20%, rgba(124, 92, 255, 0.35), transparent 70%),
		var(--wp--preset--gradient--navy);
}

/* Feature: icon + title + text. */
.dsp-feature h3 {
	margin: 0;
	line-height: 1.3;
}

.dsp-feature p {
	margin: 0;
	line-height: 1.5;
}

.dsp-feature-stacked h3 {
	margin: 0.5rem 0 0;
	line-height: 1.3;
}

.dsp-feature-stacked p {
	margin: 0;
}

/* Icon tones. */
.wp-block-disputeur-icon.dsp-tone-green { background: var(--wp--preset--color--mint) !important; color: #12A16A !important; }
.wp-block-disputeur-icon.dsp-tone-orange { background: #FFF1E2 !important; color: #F08A1C !important; }
.wp-block-disputeur-icon.is-appearance-plain.dsp-tone-green { background: none !important; }

/* E-commerce challenge: reason rows with a decorative arrow. */
.dsp-reasons > .dsp-reason {
	position: relative;
	padding: 1.25rem 2.5rem 1.25rem 0;
	border-bottom: 1px solid var(--dsp-ring);
}

.dsp-reasons > .dsp-reason:last-child {
	border-bottom: 0;
}

.dsp-reasons > .dsp-reason::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0.25rem;
	width: 1.1rem;
	height: 1.1rem;
	background-color: var(--wp--preset--color--blue);
	-webkit-mask: var(--dsp-arrow) center / contain no-repeat;
	mask: var(--dsp-arrow) center / contain no-repeat;
	transform: translateY(-50%);
}

.dsp-reasons .wp-block-disputeur-icon {
	width: 3.75rem;
	height: 3.75rem;
	border-radius: 16px;
}

/* Numbered steps (step number badge next to the title). */
.dsp-steps-numbered .dsp-step-badge {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 2rem;
	height: 2rem;
	margin: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--blue);
	color: #fff;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.dsp-steps-numbered h3 {
	margin: 0.15rem 0 0;
	line-height: 1.3;
}

.dsp-steps-numbered .dsp-step-text {
	margin: 0 0 0 2.75rem;
}

/* Compact steps with small arrows. */
@media (min-width: 782px) {
	.is-style-flow.dsp-steps-compact > :not(:last-child)::after {
		top: 1.15rem;
		right: -1.45rem;
		width: 1rem;
		height: 1rem;
		background-color: var(--wp--preset--color--blue);
	}
}

.dsp-steps-compact h3 {
	margin: 0.4rem 0 0;
	line-height: 1.3;
}

.dsp-steps-compact p {
	margin: 0;
	line-height: 1.45;
}

/* Key benefits in one line with dividers (E-commerce). */
.dsp-benefits-line > .dsp-benefit h3 {
	margin: 0.5rem 0 0;
	line-height: 1.3;
}

.dsp-benefits-line > .dsp-benefit p:not(.is-style-big-number) {
	margin: 0;
}

.dsp-benefits-line .is-style-big-number {
	color: #C4CBFF;
	font-size: clamp(2.5rem, 2rem + 1.5vw, 3.25rem);
}

@media (min-width: 900px) {
	.dsp-benefits-line > .dsp-benefit + .dsp-benefit {
		padding-left: 2rem;
		border-left: 1px solid var(--dsp-ring);
	}
}

/* Small white cards in 2×2 grids. */
.is-style-card.dsp-tile-sm {
	padding: 1.15rem 1.25rem;
}

/* Header row with a CTA on the right. */
@media (max-width: 781px) {
	.dsp-head-cta {
		flex-wrap: wrap !important;
	}
}

/* Who we help: cards with artwork and dark captions. */
.dsp-who-card {
	overflow: hidden;
	border-radius: 20px;
	background: #0B1240;
	box-shadow: 0 30px 60px -30px rgba(7, 13, 51, 0.7);
}

.dsp-who-card__art {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	color: #fff;
}

.dsp-who-card__art .wp-block-disputeur-icon {
	width: 5rem;
	height: 5rem;
	color: #fff !important;
	filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.35));
}

.dsp-who-card__art .wp-block-disputeur-icon svg {
	width: 4.5rem;
	height: 4.5rem;
	stroke-width: 1.5;
}

.dsp-who-card__art.is-game { background: radial-gradient(circle at 30% 20%, #FF9B6B, transparent 45%), radial-gradient(circle at 70% 70%, #7B5CFF, #2A1A8F 70%); }
.dsp-who-card__art.is-apps { background: radial-gradient(circle at 70% 25%, #5C77FF, transparent 50%), linear-gradient(160deg, #3048FC, #170F6B); }
.dsp-who-card__art.is-tools { background: radial-gradient(circle at 25% 30%, #4FD1C5, transparent 45%), linear-gradient(160deg, #7C5CFF, #23157A); }
.dsp-who-card__art.is-saas { background: radial-gradient(circle at 70% 20%, #8FA0FF, transparent 50%), linear-gradient(160deg, #2E3FD9, #0E1650); }
.dsp-who-card__art.is-content { background: radial-gradient(circle at 70% 75%, #F472B6, transparent 45%), linear-gradient(160deg, #6D4BFF, #1E1170); }

.dsp-who-card__body {
	padding: 1.25rem 1.35rem 1.5rem;
}

.dsp-who-card__body h3 {
	margin: 0;
	color: #fff;
}

.dsp-who-card__body p {
	margin: 0;
	color: rgba(255, 255, 255, 0.75);
	line-height: 1.5;
}

@media (min-width: 782px) {
	.dsp-who-cards.is-tilted {
		padding: 1.5rem 0;
	}

	.dsp-who-cards.is-tilted > .dsp-who-card:nth-child(1) { transform: rotate(-5deg) translate(0.75rem, 0.5rem); }
	.dsp-who-cards.is-tilted > .dsp-who-card:nth-child(2) { z-index: 1; transform: translateY(-0.5rem); }
	.dsp-who-cards.is-tilted > .dsp-who-card:nth-child(3) { transform: rotate(4deg) translate(-0.75rem, 0.5rem); }
}

/* Scenario cards in dark sections. */
.dsp-scenario-card {
	background: linear-gradient(180deg, rgba(48, 72, 252, 0.16), rgba(255, 255, 255, 0.03)) !important;
}

.dsp-scenario-card h3 {
	margin: 0.5rem 0 0;
	color: #fff;
}

p.dsp-card-label {
	margin: 0;
	color: #fff !important;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

p.dsp-price {
	margin: 0;
	color: rgba(255, 255, 255, 0.85) !important;
	font-weight: 600;
}

.dsp-scenario-card .is-style-checklist li {
	color: rgba(255, 255, 255, 0.85);
	font-size: var(--wp--preset--font-size--small);
}

.dsp-kv {
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
}

.dsp-kv li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.25rem 0.75rem;
	padding: 0.55rem 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	font-size: var(--wp--preset--font-size--x-small);
}

.dsp-kv li > span {
	color: rgba(255, 255, 255, 0.55);
}

.dsp-kv li > strong {
	color: #fff;
	font-weight: 600;
}

.dsp-status {
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	font-size: 0.75rem;
}

.dsp-status.is-danger { background: #EF4444; }
.dsp-status.is-warning { background: #F5B301; color: #1B1400 !important; }
.dsp-status.is-info { background: var(--wp--preset--color--blue); }

/* Growth scenarios (Startups). */
.dsp-growth-card {
	background: linear-gradient(160deg, rgba(48, 72, 252, 0.22), rgba(255, 255, 255, 0.03)) !important;
}

.dsp-growth-card .wp-block-disputeur-icon {
	color: var(--wp--preset--color--accent-light) !important;
}

.dsp-growth-card h3 {
	color: #fff;
}

/* Mint strip under Key benefits (Startups). */
.dsp-mint-strip {
	padding: 1rem 1.5rem;
	border-radius: 14px;
	background: var(--wp--preset--color--mint);
}

.dsp-mint-strip p {
	margin: 0;
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
}

/* Text column first on phones for sections whose visual sits on the left. */
@media (max-width: 781px) {
	.dsp-reverse-mobile .wp-block-columns {
		flex-direction: column-reverse;
	}

	.dsp-hero-cols.is-visual-first {
		flex-direction: column-reverse;
	}
}

@media (max-width: 781px) {
	.dsp-who-card__art {
		aspect-ratio: 16 / 7;
	}
}

.dsp-hub-card h2 {
	margin: 0.5rem 0 0;
}

/* -------------------------------------------------------------------------
 * 16. Hub, pricing, contact, about, glossary
 * ---------------------------------------------------------------------- */

/* Header row: title on the left, intro on the right with a divider. */
.dsp-split-head > * {
	flex: 1 1 0;
}

@media (min-width: 900px) {
	.dsp-split-head__text {
		padding-left: 2.5rem;
		border-left: 1px solid var(--dsp-ring);
	}
}

@media (max-width: 899px) {
	.dsp-split-head {
		flex-wrap: wrap !important;
	}

	.dsp-split-head > * {
		flex-basis: 100%;
	}
}

@media (min-width: 782px) {
	.dsp-rule-left {
		padding-left: clamp(1.5rem, 3vw, 2.5rem);
		border-left: 1px solid var(--dsp-ring);
	}
}

/* Solutions hub cards: tinted, fully clickable, large artwork icon. */
.dsp-sol-card {
	position: relative;
	overflow: hidden;
	min-height: 11rem;
	padding: 1.5rem 7.5rem 1.5rem 1.5rem;
	border-radius: var(--dsp-radius);
	background: var(--dsp-tint, #EEF3FF);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.dsp-sol-card:hover,
.dsp-sol-card:focus-within {
	box-shadow: 0 20px 40px -24px rgba(48, 72, 252, 0.55);
	transform: translateY(-2px);
}

.dsp-sol-card h3 {
	margin: 0;
}

.dsp-sol-card h3 a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.dsp-sol-card h3 a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.dsp-sol-card h3 a::after {
	content: "";
	display: inline-block;
	width: 0.9em;
	height: 0.9em;
	margin-left: 0.4em;
	vertical-align: -0.1em;
	background-color: var(--wp--preset--color--blue);
	-webkit-mask: var(--dsp-arrow) center / contain no-repeat;
	mask: var(--dsp-arrow) center / contain no-repeat;
}

.dsp-sol-card h3 a:focus-visible {
	outline: none;
}

.dsp-sol-card:has(a:focus-visible) {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

.dsp-sol-card p {
	margin: 0;
}

.dsp-sol-card .dsp-sol-card__art {
	position: absolute;
	right: 1.25rem;
	bottom: 1.25rem;
	width: 5.5rem;
	height: 5.5rem;
	opacity: 0.9;
}

.dsp-sol-card .dsp-sol-card__art svg {
	width: 5rem;
	height: 5rem;
	stroke-width: 1.4;
}

.dsp-sol-card.is-blue { --dsp-tint: #EAF0FF; }
.dsp-sol-card.is-pink { --dsp-tint: #F6EDFF; }
.dsp-sol-card.is-mint { --dsp-tint: #E6F8F1; }
.dsp-sol-card.is-peach { --dsp-tint: #FFF2E6; }
.dsp-sol-card.is-lilac { --dsp-tint: #EFEFFF; }
.dsp-sol-card.is-rose { --dsp-tint: #FFEDF0; }
.dsp-sol-card.is-pink .dsp-sol-card__art { color: #7C3AED; }
.dsp-sol-card.is-mint .dsp-sol-card__art { color: #12A16A; }
.dsp-sol-card.is-peach .dsp-sol-card__art { color: #F08A1C; }
.dsp-sol-card.is-rose .dsp-sol-card__art { color: #E5374A; }

/* Pricing hero + overlapping pricing card. */
.dsp-pricing-hero h1 {
	font-size: clamp(2.25rem, 1.45rem + 2.4vw, 3.25rem);
}

.dsp-price-card-wrap {
	position: relative;
	z-index: 2;
}

.dsp-price-card {
	margin-top: calc(clamp(9rem, 16vw, 12rem) * -1 + 2rem) !important;
	padding: clamp(1.75rem, 3.5vw, 2.75rem) !important;
	border-radius: 24px !important;
	background: linear-gradient(160deg, #0E1650, #050A2E) !important;
	box-shadow: 0 0 0 1px rgba(92, 119, 255, 0.35), 0 40px 80px -30px rgba(7, 13, 51, 0.8) !important;
}

@media (min-width: 782px) {
	.dsp-price-card__why {
		padding-left: clamp(1.5rem, 3vw, 2.5rem);
		border-left: 1px solid rgba(255, 255, 255, 0.12);
	}
}

.dsp-price-card .is-style-label {
	color: rgba(255, 255, 255, 0.72) !important;
}

p.dsp-price-big {
	display: flex;
	align-items: baseline;
	gap: 0.6rem;
	margin: 0.5rem 0 0;
	color: #fff !important;
}

p.dsp-price-big strong {
	font-size: clamp(3rem, 2.2rem + 3vw, 4.25rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
}

p.dsp-price-big span {
	color: rgba(255, 255, 255, 0.8);
	font-size: var(--wp--preset--font-size--medium);
}

p.dsp-price-note {
	margin: 0;
	color: var(--wp--preset--color--green-bright) !important;
	font-weight: 700;
}

.dsp-price-card .is-style-chip {
	margin: 0;
}

@media (min-width: 600px) {
	.dsp-list-2col {
		display: grid;
		grid-template-rows: repeat(4, auto);
		grid-auto-flow: column;
		column-gap: 2rem;
		align-content: start;
	}
}

/* Pricing steps: arrows between cards. */
@media (min-width: 782px) {
	.is-style-flow.dsp-flow-cards > :not(:last-child)::after {
		top: 50%;
		right: -2.1rem;
		background-color: var(--wp--preset--color--blue);
	}
}

.dsp-flow-cards h3,
.dsp-flow-cards p {
	margin: 0;
}

/* Contact. */
.wp-block-disputeur-icon.is-round {
	border-radius: 50% !important;
}

.dsp-form-card h2 {
	font-size: var(--wp--preset--font-size--xx-large);
}

.dsp-contact-card {
	padding: 1.1rem 1.35rem !important;
}

.dsp-contact-card p {
	margin: 0;
}

p.dsp-contact-label {
	color: var(--wp--preset--color--blue) !important;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

p.dsp-contact-value a {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	text-decoration: none;
}

p.dsp-contact-value a:hover {
	color: var(--wp--preset--color--blue);
}

.dsp-hq-card p {
	margin: 0;
}

.is-style-section-dark .dsp-hq-card :where(p) {
	color: var(--wp--preset--color--body);
}

.is-style-section-dark .dsp-hq-card strong {
	color: var(--wp--preset--color--contrast);
}

/* Glossary: alphabetical order reads down the first column, then the second. */
.dsp-glossary {
	display: block !important;
}

@media (min-width: 900px) {
	.dsp-glossary {
		columns: 2;
		column-gap: 1.25rem;
	}
}

.dsp-glossary > .dsp-term {
	break-inside: avoid;
	margin: 0 0 1rem !important;
}

.dsp-term h3,
.dsp-term p {
	margin: 0;
}

/* -------------------------------------------------------------------------
 * 17. Blog hub and article
 * ---------------------------------------------------------------------- */

.dsp-blog-tabs {
	display: flex;
	gap: 2.5rem;
	border-bottom: 1px solid var(--dsp-ring);
}

.dsp-blog-tabs a {
	position: relative;
	padding: 0.25rem 0 0.9rem;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	text-decoration: none;
}

.dsp-blog-tabs a:hover {
	color: var(--wp--preset--color--blue);
}

.dsp-blog-tabs a.is-active {
	color: var(--wp--preset--color--blue);
}

.dsp-blog-tabs a.is-active::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 3px;
	border-radius: 3px;
	background: var(--wp--preset--color--blue);
}

/* Featured article. */
.dsp-featured {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	align-items: center;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	margin-bottom: 0.5rem;
}

.dsp-featured__media {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--dsp-radius);
	box-shadow: 0 30px 60px -30px rgba(48, 72, 252, 0.6);
}

.dsp-featured__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.dsp-featured:hover .dsp-featured__media img {
	transform: scale(1.02);
}

.dsp-featured__badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	background: var(--wp--preset--color--blue);
	color: #fff;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.dsp-featured__topic,
.wp-block-disputeur-post-topic {
	margin: 0;
	color: var(--wp--preset--color--blue);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dsp-featured__title {
	margin: 0.6rem 0 0.75rem;
	font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.1rem);
	line-height: 1.2;
}

.dsp-featured__title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.dsp-featured__title a:hover {
	color: var(--wp--preset--color--blue);
}

.dsp-featured__excerpt {
	margin: 0 0 1.5rem;
	color: var(--wp--preset--color--body);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.6;
}

.dsp-featured__meta {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.dsp-featured__avatar {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 10px;
	background: var(--wp--preset--color--blue);
	color: #fff;
	font-weight: 800;
}

.dsp-featured__byline b {
	display: block;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
}

.dsp-featured__byline span {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
}

.dsp-featured__more {
	margin-left: auto;
	color: var(--wp--preset--color--blue);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-decoration: none;
}

.dsp-featured__more::after {
	content: " →";
}

@media (max-width: 781px) {
	.dsp-featured {
		grid-template-columns: 1fr;
	}
}

.wp-block-post-template > li:has(> .dsp-post-card) {
	display: flex;
}

.dsp-post-card {
	flex: 1;
}

.dsp-post-card .wp-block-post-title {
	margin-top: 0.25rem !important;
	line-height: 1.3;
}

.wp-block-query-pagination {
	gap: 0.5rem;
}

.wp-block-query-pagination-numbers .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 2.5rem;
	height: 2.5rem;
	border-radius: 10px;
}

.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--wp--preset--color--blue);
	color: #fff;
}

/* Article hero. */
.dsp-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--x-small);
}

.dsp-breadcrumbs li {
	color: rgba(255, 255, 255, 0.6);
}

.dsp-breadcrumbs li + li::before {
	content: "›";
	margin-right: 0.4rem;
}

.dsp-breadcrumbs a {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
}

.dsp-breadcrumbs a:hover {
	color: #fff;
}

.dsp-breadcrumbs [aria-current] {
	color: rgba(255, 255, 255, 0.9);
}

.dsp-article-cat,
.dsp-article-cat a {
	color: var(--wp--preset--color--accent-light) !important;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

.dsp-article-hero .dsp-article-title {
	margin: 0;
	font-size: clamp(2rem, 1.3rem + 2vw, 2.9rem);
	line-height: 1.12;
}

.dsp-article-lead p {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: var(--wp--preset--font-size--large);
}

.dsp-article-hero .dsp-meta p.dsp-by {
	margin: 0;
}

.dsp-article-cover img {
	border-radius: var(--dsp-radius);
	box-shadow: 0 30px 70px -30px rgba(92, 119, 255, 0.7);
}

/* Article body with sticky contents. */
@media (min-width: 782px) {
	.dsp-article-side {
		position: sticky;
		top: calc(var(--dsp-header-h, 76px) + 1.5rem);
	}

	.wp-block-disputeur-table-of-contents.dsp-toc-mobile {
		display: none;
	}
}

@media (max-width: 781px) {
	.dsp-article-aside .dsp-toc-side {
		display: none;
	}
}

.dsp-article-aside {
	align-self: stretch !important;
}

.wp-block-disputeur-table-of-contents ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.wp-block-disputeur-table-of-contents li + li {
	border-top: 1px solid var(--dsp-ring);
}

.wp-block-disputeur-table-of-contents a {
	display: block;
	padding: 0.6rem 0;
	color: var(--wp--preset--color--body);
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.4;
	text-decoration: none;
}

.wp-block-disputeur-table-of-contents a:hover,
.wp-block-disputeur-table-of-contents a.is-current {
	color: var(--wp--preset--color--blue);
}

.wp-block-disputeur-table-of-contents .dsp-toc__title,
.wp-block-disputeur-table-of-contents summary {
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--contrast);
	font-weight: 700;
}

.wp-block-disputeur-table-of-contents.is-collapsible {
	margin-bottom: 2rem;
	padding: 1rem 1.25rem;
	border-radius: 14px;
	background: var(--wp--preset--color--soft);
}

.wp-block-disputeur-table-of-contents.is-collapsible summary {
	margin: 0;
	cursor: pointer;
}

.wp-block-disputeur-table-of-contents.is-collapsible[open] summary {
	margin-bottom: 0.5rem;
}

.dsp-side-cta h3,
.dsp-side-cta p {
	margin: 0;
}

.dsp-article > .wp-block-quote {
	margin: 1.25rem 0;
	padding: 1rem 1.5rem;
	border-left: 4px solid var(--wp--preset--color--blue);
	border-radius: 0 12px 12px 0;
	background: var(--wp--preset--color--blue-50);
}

.dsp-article > .wp-block-quote p {
	margin: 0;
	color: var(--wp--preset--color--contrast);
	font-style: italic;
}

.dsp-article > .dsp-sequence li {
	margin-bottom: 0.4rem;
}

.dsp-article > .wp-block-details {
	margin-top: 0.75rem;
}

.dsp-article > :is(h2, h3) {
	scroll-margin-top: calc(var(--dsp-header-h, 76px) + 16px);
}

/* Response template with a copy button. */
.dsp-template-box {
	margin: 1.75rem 0 !important;
	overflow: hidden;
	border-radius: 16px;
	box-shadow: 0 0 0 1px var(--dsp-ring), 0 20px 40px -30px rgba(10, 16, 60, 0.4);
}

.dsp-template-box p.dsp-template-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0;
	padding: 0.85rem 1.25rem;
	background: var(--wp--preset--color--contrast);
	color: #fff;
}

.dsp-copy {
	padding: 0.4rem 0.9rem;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 999px;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	cursor: pointer;
}

.dsp-copy:hover,
.dsp-copy:focus-visible {
	background: rgba(255, 255, 255, 0.12);
}

.dsp-template-box pre.dsp-template-text {
	margin: 0;
	padding: 1.25rem 1.5rem;
	overflow-x: auto;
	background: var(--wp--preset--color--soft);
	color: var(--wp--preset--color--contrast);
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.85rem;
	line-height: 1.6;
	white-space: pre-wrap;
}

.dsp-article-cta {
	margin-top: var(--wp--preset--spacing--60) !important;
}

.dsp-article-cta h2,
.dsp-article-cta p {
	margin: 0;
}
