/* DD Orbit: Home hero visual (industries outside, channels and SEO inside). */
/* The Elementor widget wrapper sits in a centred flex column, so give it the full column width. */
.elementor-widget-dd_orbit { width: 100%; align-self: stretch; }
.dd-orbit {
	--gold: #D6AE4F;
	--navy: #142A45;
	--deep: #0D1D31;
	--ink-soft: #D3DCE7;
	container-type: inline-size;
	position: relative;
	width: 100%;
	max-width: 680px;
	max-width: min(680px, max(300px, calc(100vh - 240px)));
	max-width: min(680px, max(300px, calc(100svh - 240px)));
	margin: 0 auto;
	color: #fff;
	font-size: 15px;
	line-height: 1.45;
}
.dd-orbit *,
.dd-orbit *::before,
.dd-orbit *::after { box-sizing: border-box; }
.dd-orbit p { margin: 0; }
.dd-orbit .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

/* Stage: a square that keeps every ring on one shared centre. */
.dd-orbit__stage {
	--lw: clamp(72px, 13cqi, 88px);                                  /* outer label max width */
	--iw: clamp(66px, 12.2cqi, 84px);                                  /* inner label max width */
	--fs: clamp(11px, 2.05cqi, 13px);
	--oi: calc(var(--lw) / 2 + 2px);                                 /* outer ring inset */
	--ii: calc(var(--oi) + var(--lw) / 2 + var(--iw) / 2 + 12px);    /* inner ring inset */
	--hi: calc(var(--ii) + var(--iw) / 2 + 4px);                     /* centre inset */
	position: relative; width: 100%; aspect-ratio: 1 / 1;
}
.dd-orbit__track,
.dd-orbit__ring,
.dd-orbit__hub { position: absolute; border-radius: 50%; }
.dd-orbit__track { pointer-events: none; }
.dd-orbit__track--outer { inset: var(--oi); border: 1px solid rgba(255, 255, 255, .2); }
.dd-orbit__track--inner { inset: var(--ii); border: 1px solid rgba(141, 191, 232, .28); }
.dd-orbit__ring { transform: rotate(var(--rot, 0deg)); will-change: transform; }
.dd-orbit__ring--outer { inset: var(--oi); }
.dd-orbit__ring--inner { inset: var(--ii); }
.dd-orbit__marker {
	position: absolute; left: 50%; top: var(--oi); height: calc(var(--hi) - var(--oi));
	border-left: 2px dashed rgba(214, 174, 79, .55); transform: translateX(-1px); pointer-events: none;
}

/* Labels: placed on the ring, counter-rotated so they always stay upright. */
.dd-orbit__labels { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; }
.dd-orbit__label {
	position: absolute; margin: 0; padding: 0; list-style: none;
	width: max-content; max-width: var(--lw);
	transform: translate(-50%, -50%) rotate(calc(-1 * var(--rot, 0deg))) scale(var(--s, 1));
	z-index: 1;
}
.dd-orbit__ring--inner .dd-orbit__label { max-width: var(--iw); }
.dd-orbit__label > a,
.dd-orbit__label > span {
	display: block; padding: 4px 7px; border-radius: 999px;
	font-size: var(--fs); line-height: 1.2; font-weight: 500; text-align: center;
	color: #E8EEF5 !important; text-decoration: none;
	background: var(--deep); border: 1px solid rgba(255, 255, 255, .3);
	transition: background-color .3s, color .3s, border-color .3s, box-shadow .3s;
}
.dd-orbit__label--seo > span { border-style: dashed; border-color: rgba(141, 191, 232, .7); }
.dd-orbit__label > a:hover { border-color: var(--gold); }
.dd-orbit__label.is-active { --s: 1.08; z-index: 2; }
.dd-orbit__label.is-active > a,
.dd-orbit__label.is-active > span {
	background: var(--gold); color: var(--navy) !important; border-color: var(--gold); font-weight: 700;
	box-shadow: 0 0 0 3px rgba(214, 174, 79, .3);
}

/* Centre */
.dd-orbit__hub {
	inset: var(--hi); display: grid; place-items: center; padding: 9%;
	background: radial-gradient(circle at 50% 40%, #1B3858 0%, var(--deep) 75%);
	border: 1px solid rgba(214, 174, 79, .4); text-align: center; z-index: 3;
}
.dd-orbit__slides { display: grid; width: 100%; }
.dd-orbit__slide { grid-area: 1 / 1; visibility: hidden; opacity: 0; transition: opacity .45s ease, visibility 0s linear .45s; }
.dd-orbit__slide.is-active { visibility: visible; opacity: 1; transition: opacity .45s ease .15s, visibility 0s; }
.dd-orbit__pair { font-weight: 700; font-size: 15px; line-height: 1.3; color: #fff; }
.dd-orbit__pair a.dd-orbit__pair-o { color: #fff !important; text-decoration: underline; text-decoration-color: rgba(214, 174, 79, .7); text-underline-offset: 3px; }
.dd-orbit__plus { color: var(--gold); padding: 0 2px; }
.dd-orbit__type { margin-top: 4px !important; font-size: 12.5px; color: #8DBFE8; font-weight: 600; }
.dd-orbit__headline { font-weight: 600; color: #fff; }
.dd-orbit__cta { display: inline-block; color: var(--gold) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.dd-orbit__wide { display: none; }
.dd-orbit__wide .dd-orbit__headline { margin-top: 10px; font-size: 14px; line-height: 1.38; }

/* Below the rings */
.dd-orbit__below { max-width: 560px; margin: 12px auto 0; text-align: center; }
.dd-orbit__below .dd-orbit__headline { font-size: 18px; line-height: 1.35; }
.dd-orbit__support { margin-top: 6px !important; color: var(--ink-soft); font-size: 15px; }
.dd-orbit__below .dd-orbit__cta { margin-top: 10px; font-size: 15px; }

/* Controls */
.dd-orbit__controls { display: flex; align-items: center; justify-content: center; gap: 8px 10px; margin-top: 10px; flex-wrap: wrap; }
.dd-orbit:not(.is-ready) .dd-orbit__controls { visibility: hidden; }
.dd-orbit__btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	min-width: 44px; height: 44px; padding: 0 12px; border-radius: 999px;
	background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .4);
	font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; line-height: 1;
}
.dd-orbit__btn > span[aria-hidden] { font-size: 22px; line-height: 1; margin-top: -2px; }
.dd-orbit__btn-label { font-size: 14px; }
.dd-orbit__btn:hover { border-color: var(--gold); color: var(--gold); background: transparent; }
.dd-orbit__icon { width: 12px; height: 12px; position: relative; display: inline-block; }
.dd-orbit__btn--play[data-state="playing"] .dd-orbit__icon { border-left: 4px solid currentColor; border-right: 4px solid currentColor; width: 12px; }
.dd-orbit__btn--play[data-state="paused"] .dd-orbit__icon { width: 0; height: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 10px solid currentColor; }
.dd-orbit__count { font-size: 13px; color: var(--ink-soft); min-width: 7.5em; text-align: center; }
.dd-orbit a:focus-visible,
.dd-orbit__btn:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; border-radius: 6px; }
.dd-orbit__btn:focus-visible { border-radius: 999px; }

/* All examples (text list) */
.dd-orbit__all { max-width: 560px; margin: 12px auto 0; text-align: center; }
.dd-orbit__all > summary {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; cursor: pointer;
	color: var(--gold); font-weight: 600; font-size: 14.5px; text-decoration: underline; text-underline-offset: 3px;
}
.dd-orbit__all > summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; border-radius: 6px; }
.dd-orbit__list { margin: 6px 0 0; padding: 0 0 0 1.6em; text-align: left; }
.dd-orbit__list li { margin: 0; padding: 0; color: var(--ink-soft); }
.dd-orbit__list button {
	display: block; width: 100%; min-height: 40px; padding: 8px 6px; text-align: left; cursor: pointer;
	background: transparent; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); border-radius: 0;
	color: #E8EEF5; font: inherit; font-size: 14.5px; line-height: 1.35; white-space: normal; overflow-wrap: anywhere;
}
.dd-orbit__list button:hover { color: var(--gold); background: transparent; }
.dd-orbit__list button:focus-visible { outline: 3px solid var(--gold); outline-offset: 1px; }
.dd-orbit__list button[aria-current="true"] { font-weight: 700; color: #fff; }
.dd-orbit__list-type { color: #8DBFE8; }
.dd-orbit__now { display: none; color: var(--gold); font-weight: 600; }
.dd-orbit__list button[aria-current="true"] .dd-orbit__now { display: inline; }
.dd-orbit__legend-dots { display: none; flex-basis: 100%; }
.dd-orbit__legend { margin-top: 10px !important; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 8px; font-size: 12.5px; color: #B8C4D3; }
.dd-orbit__keys { display: inline-flex; gap: 6px; }
.dd-orbit__key { display: inline-block; padding: 0 7px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .45); line-height: 1.5; }
.dd-orbit__key--seo { border-style: dashed; border-color: rgba(141, 191, 232, .8); }

/* Large: headline and button move into the centre. */
@container (min-width: 580px) {
	.dd-orbit__pair-o,
	.dd-orbit__pair-i { white-space: nowrap; }
	.dd-orbit__wide { display: block; }
	.dd-orbit__below .dd-orbit__narrow { display: none; }
	.dd-orbit__hub { padding: 8% 11%; }
}
/* Short screens (for example 1366 x 768): the headline stays in the centre, set a little smaller. */
@container (min-width: 520px) and (max-width: 579px) {
	.dd-orbit__wide { display: block; }
	.dd-orbit__below .dd-orbit__narrow { display: none; }
	.dd-orbit__hub { padding: 6% 8%; }
	.dd-orbit__pair { font-size: 13.5px; line-height: 1.25; }
	.dd-orbit__type { font-size: 11px; margin-top: 2px !important; }
	.dd-orbit__wide .dd-orbit__headline { margin-top: 6px; font-size: 13px; line-height: 1.3; }
	.dd-orbit__pair,
	.dd-orbit__wide .dd-orbit__headline { text-wrap: balance; }
}
@container (min-width: 440px) and (max-width: 519px) {
	.dd-orbit__hub { padding: 6%; }
	.dd-orbit__pair { font-size: 13.5px; }
	.dd-orbit__type { font-size: 11.5px; }
}

/* Compact (phones and narrow columns): rings become dots; the centre names the selected pair. */
@container (max-width: 439px) {
	.dd-orbit__stage { --oi: 7px; --ii: 15%; --hi: 23%; }
	.dd-orbit__label { width: 12px; height: 12px; max-width: none; }
	.dd-orbit__label > a,
	.dd-orbit__label > span {
		width: 12px; height: 12px; padding: 0; overflow: hidden; color: transparent !important;
		border-radius: 50%; background: #8DA3BC; border: 0;
	}
	.dd-orbit__label--seo > span { background: transparent; border: 2px solid #8DBFE8; }
	.dd-orbit__label .dd-orbit__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
	/* The selected industry and service stay readable as text pills. */
	.dd-orbit__label.is-active,
	.dd-orbit__ring--inner .dd-orbit__label.is-active { --s: 1; width: max-content; max-width: none; height: auto; z-index: 3; }
	.dd-orbit__label.is-active > a,
	.dd-orbit__label.is-active > span {
		width: auto; height: auto; padding: 3px 9px; border-radius: 999px; overflow: visible;
		background: var(--gold); color: var(--navy) !important; border: 0; font-size: 12px; font-weight: 700; white-space: nowrap;
		box-shadow: 0 0 0 3px rgba(214, 174, 79, .3);
	}
	.dd-orbit__label.is-active .dd-orbit__text { position: static; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; }
	/* While the rings turn, the selected items stay as larger gold dots so wide names never cross other dots. */
	.dd-orbit.is-moving .dd-orbit__label.is-active > a,
	.dd-orbit.is-moving .dd-orbit__label.is-active > span { width: 14px; height: 14px; padding: 0; overflow: hidden; border-radius: 50%; }
	.dd-orbit.is-moving .dd-orbit__label.is-active .dd-orbit__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); }
	.dd-orbit__legend-dots { display: block; }
	.dd-orbit__key::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; background: #8DA3BC; vertical-align: 1px; }
	.dd-orbit__key--seo::before { background: transparent; border: 2px solid #8DBFE8; width: 6px; height: 6px; }
	.dd-orbit__hub { padding: 7%; }
	.dd-orbit__pair { font-size: 14px; }
	.dd-orbit__type { font-size: 10.5px; }
	.dd-orbit__below .dd-orbit__headline { font-size: 17px; }
	.dd-orbit__support { font-size: 14.5px; }
}

@media (prefers-reduced-motion: reduce) {
	.dd-orbit__slide,
	.dd-orbit__slide.is-active { transition: opacity .2s linear; }
	.dd-orbit__label,
	.dd-orbit__label > a,
	.dd-orbit__label > span { transition: none; }
}

/* Home hero section: less vertical padding so the heading, main button, selected pair and
   controls fit on the first screen of common laptop sizes (1440 x 900, 1366 x 768), above the
   first-visit cookie banner. */
.dd-sec:has(.dd-orbit) { padding-top: 20px !important; padding-bottom: 56px !important; }
@media (min-width: 1025px) {
	/* Start the text column at the top so the heading and main button stay high on short screens. */
	.dd-sec:has(.dd-orbit) > .e-con-inner { align-items: flex-start !important; }
	.dd-sec:has(.dd-orbit) > .e-con-inner > .e-con:not(:has(.dd-orbit)) { padding-top: clamp(8px, 4vh, 48px) !important; }
}
@media (max-width: 1024px) {
	.dd-sec:has(.dd-orbit) { padding-top: 40px !important; padding-bottom: 56px !important; }
}
@media (max-width: 767px) {
	.dd-sec:has(.dd-orbit) { padding-top: 32px !important; padding-bottom: 48px !important; }
}

/* ==========================================================================
   Home page layout: "dark luxury" (3 Nov 2026). This file loads only where the
   orbit widget is used (the Home page), so the Home page's section styling lives
   here too. It works through classes on the Home page's Elementor containers:
   dd-hm-hero, dd-hm-hero-text, dd-hm-ctas, dd-hm-hero-orbit, dd-hm (each later
   section), dd-hm-problems, dd-hm-services, dd-hm-split, dd-hm-process,
   dd-hm-planner, dd-hm-industries, dd-hm-where and dd-hm-cta, plus dd-accent
   spans in two headings. No fonts, images or scripts are added.
   ========================================================================== */
.dd-hm-hero, .dd-hm {
	--hm-navy: #142A45;
	--hm-deep: #0C1A2C;
	--hm-deeper: #08131F;
	--hm-gold: #D6AE4F;
	--hm-gold-hi: #F1D58E;
	--hm-text: #B9C6D6;
	--hm-head: #FFFFFF;
	--hm-hair: rgba(214, 174, 79, .18);
}

/* Section canvases: deep navy tones, soft gold light, faint grid, gold hairline between sections. */
.dd-hm-hero, .dd-hm { position: relative; overflow: hidden; isolation: isolate; color: var(--hm-text); }
.dd-hm { border-top: 1px solid var(--hm-hair); }
.e-con.dd-hm-hero {
	background:
		radial-gradient(820px 560px at 78% 42%, rgba(214, 174, 79, .17), transparent 62%),
		radial-gradient(700px 480px at -8% 110%, rgba(90, 140, 205, .16), transparent 60%),
		linear-gradient(180deg, #102238 0%, var(--hm-deep) 100%) !important;
}
.e-con.dd-hm-problems { background: radial-gradient(900px 520px at 0% 0%, rgba(214, 174, 79, .08), transparent 60%), var(--hm-deep) !important; }
.e-con.dd-hm-services { background: linear-gradient(180deg, #0F2135 0%, var(--hm-deep) 100%) !important; }
.e-con.dd-hm-process { background: radial-gradient(900px 480px at 100% 0%, rgba(214, 174, 79, .08), transparent 60%), var(--hm-deeper) !important; }
.e-con.dd-hm-planner { background: radial-gradient(640px 400px at 92% 10%, rgba(214, 174, 79, .18), transparent 62%), linear-gradient(180deg, #13294A 0%, #0F2238 100%) !important; }
.e-con.dd-hm-industries { background: var(--hm-deep) !important; }
.e-con.dd-hm-where { background: radial-gradient(800px 500px at 100% 100%, rgba(90, 140, 205, .12), transparent 60%), linear-gradient(180deg, #0F2135 0%, var(--hm-deep) 100%) !important; }
.e-con.dd-hm-cta {
	background:
		radial-gradient(760px 380px at 50% 0%, rgba(214, 174, 79, .24), transparent 64%),
		radial-gradient(600px 360px at 50% 120%, rgba(90, 140, 205, .14), transparent 60%),
		var(--hm-deeper) !important;
}
/* Solid fallback colours under the gradients (also lets contrast checkers see the real background). */
.e-con.dd-hm-hero, .e-con.dd-hm-services, .e-con.dd-hm-planner, .e-con.dd-hm-where { background-color: #0E1F33 !important; }
.e-con.dd-hm-problems, .e-con.dd-hm-industries { background-color: #0C1A2C !important; }
.e-con.dd-hm-process, .e-con.dd-hm-cta { background-color: #08131F !important; }
.dd-hm-hero::before, .dd-hm-planner::before, .dd-hm-cta::before, .dd-hm-services::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-image:
		linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(ellipse 60% 70% at 70% 40%, #000 10%, transparent 72%);
	        mask-image: radial-gradient(ellipse 60% 70% at 70% 40%, #000 10%, transparent 72%);
}
.dd-hm-services::before {
	-webkit-mask-image: radial-gradient(ellipse 50% 45% at 20% 0%, #000 10%, transparent 72%);
	        mask-image: radial-gradient(ellipse 50% 45% at 20% 0%, #000 10%, transparent 72%);
}
.dd-hm-cta::before {
	-webkit-mask-image: radial-gradient(ellipse 55% 80% at 50% 50%, #000 10%, transparent 72%);
	        mask-image: radial-gradient(ellipse 55% 80% at 50% 50%, #000 10%, transparent 72%);
}
@media (min-width: 1025px) {
	.dd-hm { padding-top: 120px !important; padding-bottom: 120px !important; }
}

/* Type on dark */
.dd-hm .elementor-heading-title { color: var(--hm-head) !important; }
.dd-hm .elementor-widget-text-editor, .dd-hm .elementor-widget-text-editor p, .dd-hm .elementor-widget-text-editor li { color: var(--hm-text) !important; }
.dd-hm .elementor-widget-text-editor strong { color: #fff; }
.dd-hm .dd-eyebrow .elementor-heading-title, .dd-hm-hero .dd-eyebrow .elementor-heading-title { color: var(--hm-gold) !important; }
.dd-hm-hero .dd-eyebrow .elementor-heading-title::before,
.dd-hm .dd-eyebrow .elementor-heading-title::before {
	content: ""; display: inline-block; width: 26px; height: 1px; margin-right: 12px; vertical-align: middle;
	background: linear-gradient(90deg, transparent, var(--hm-gold)); transform: translateY(-1px);
}
.dd-hm-cta .dd-eyebrow .elementor-heading-title::before { display: none; }
.dd-hm .dd-h2 .elementor-heading-title {
	font-size: clamp(30px, 3.7vw, 52px) !important; line-height: 1.08 !important; letter-spacing: -.03em; text-wrap: balance;
}
.dd-accent {
	background: linear-gradient(100deg, var(--hm-gold-hi, #F1D58E) 0%, var(--hm-gold, #D6AE4F) 48%, #C0943A 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
}
.dd-hm a:not(.elementor-button) { color: var(--hm-gold); }

/* Hero: calmer H1, wider text column, buttons side by side. */
.dd-hm-hero .dd-h1 .elementor-heading-title {
	font-size: clamp(36px, 3.9vw, 58px) !important; line-height: 1.04 !important; letter-spacing: -.035em; text-wrap: balance;
}
.dd-hm-hero .dd-lead { max-width: 560px; }
.dd-hm-hero .dd-lead p { font-size: 18px; line-height: 1.65; color: var(--hm-text); }
@media (min-width: 1025px) {
	.dd-hm-hero > .e-con-inner { align-items: center !important; gap: 48px !important; }
	.dd-hm-hero-text { flex: 0 0 47% !important; width: 47% !important; max-width: 47% !important; gap: 24px !important; }
	.dd-hm-hero-orbit { flex: 1 1 0 !important; width: auto !important; min-width: 0; }
	.dd-hm-ctas .elementor-button { white-space: nowrap; }
}
.dd-hm-ctas > .e-con-inner { flex-direction: row !important; flex-wrap: wrap !important; justify-content: flex-start !important; align-items: center !important; gap: 12px !important; }
.dd-hm-ctas .elementor-widget-button { width: auto !important; }
@media (max-width: 480px) {
	.dd-hm-ctas > .e-con-inner { flex-direction: column !important; align-items: stretch !important; }
	.dd-hm-ctas .elementor-widget-button, .dd-hm-ctas .elementor-button { width: 100% !important; }
	.dd-hm-ctas .elementor-button { justify-content: center; }
}

/* Buttons on dark: gold with a soft glow; outline buttons in white. */
.dd-hm-hero .dd-btn .elementor-button, .dd-hm .dd-btn .elementor-button {
	background: linear-gradient(180deg, #E2BE65 0%, var(--hm-gold) 100%) !important; border-color: var(--hm-gold) !important; color: var(--hm-navy) !important;
	box-shadow: 0 14px 30px -14px rgba(214, 174, 79, .55);
}
.dd-hm-hero .dd-btn .elementor-button:hover, .dd-hm .dd-btn .elementor-button:hover,
.dd-hm-hero .dd-btn .elementor-button:focus-visible, .dd-hm .dd-btn .elementor-button:focus-visible { background: var(--hm-gold-hi) !important; }
.dd-hm-hero .dd-btn-ghost .elementor-button, .dd-hm .dd-btn-ghost .elementor-button {
	background: rgba(255, 255, 255, .03) !important; border-color: rgba(255, 255, 255, .55) !important; color: #fff !important;
}
.dd-hm-hero .dd-btn-ghost .elementor-button:hover, .dd-hm .dd-btn-ghost .elementor-button:hover,
.dd-hm-hero .dd-btn-ghost .elementor-button:focus-visible, .dd-hm .dd-btn-ghost .elementor-button:focus-visible { border-color: var(--hm-gold) !important; color: var(--hm-gold) !important; }
.dd-hm-hero .elementor-button:focus-visible, .dd-hm .elementor-button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

/* Cards: dark glass with a gold-edged hairline border. */
.dd-hm .dd-card {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018)) padding-box,
		linear-gradient(180deg, #0F2034, #0C1A2B) padding-box,
		linear-gradient(140deg, rgba(214, 174, 79, .6), rgba(255, 255, 255, .08) 32%, rgba(255, 255, 255, .05) 68%, rgba(214, 174, 79, .32)) border-box !important;
	border: 1px solid transparent !important; border-radius: 20px !important;
	box-shadow: 0 30px 60px -42px rgba(0, 0, 0, .9) !important;
}
.dd-hm .dd-card:hover {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025)) padding-box,
		linear-gradient(180deg, #102338, #0D1C2E) padding-box,
		linear-gradient(140deg, rgba(241, 213, 142, .9), rgba(214, 174, 79, .25) 35%, rgba(255, 255, 255, .06) 65%, rgba(214, 174, 79, .5)) border-box !important;
}
.dd-hm .dd-card .dd-h3 .elementor-heading-title { color: #fff !important; }

/* Intro blocks split into heading and text on wide screens. */
@media (min-width: 1025px) {
	.dd-hm-split > .e-con-inner {
		display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); column-gap: 72px; row-gap: 16px; align-items: end;
	}
	.dd-hm-split > .e-con-inner > :nth-child(1) { grid-column: 1; grid-row: 1; }
	.dd-hm-split > .e-con-inner > :nth-child(2) { grid-column: 1; grid-row: 2; }
	.dd-hm-split > .e-con-inner > :nth-child(3) { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
	.dd-hm-split .elementor-widget-text-editor p { margin-bottom: 0; }
}

/* Why businesses come to us: sticky heading beside numbered problem cards. */
.dd-hm-problems .dd-grid > .e-con-inner { counter-reset: hmp; }
.dd-hm-problems .dd-card { counter-increment: hmp; position: relative; padding: 30px 30px 30px 100px !important; }
.dd-hm-problems .dd-card::before {
	content: counter(hmp, decimal-leading-zero); position: absolute; left: 30px; top: 30px;
	display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px;
	border: 1px solid rgba(214, 174, 79, .5); background: rgba(214, 174, 79, .08);
	color: var(--hm-gold); font: 700 14px/1 Inter, system-ui, sans-serif; letter-spacing: .06em;
}
@media (min-width: 1025px) {
	.dd-hm-problems > .e-con-inner {
		display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 80px; align-items: start;
	}
	.dd-hm-problems > .e-con-inner > .e-con:first-child { position: sticky; top: 120px; }
	.dd-hm-problems .dd-grid > .e-con-inner { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
}
@media (max-width: 767px) {
	.dd-hm-problems .dd-card { padding: 24px 22px 24px 84px !important; }
	.dd-hm-problems .dd-card::before { left: 22px; top: 24px; width: 44px; height: 44px; }
}

/* Services: glass cards, gold "Explore" links, a gold-lit closing card. */
.dd-hm-services .dd-card { padding: 32px 30px !important; }
.dd-hm-services .dd-card .dd-h3 .elementor-heading-title { font-size: 21px !important; letter-spacing: -.01em; }
.dd-hm-services .dd-card:not(.dd-card-accent) .elementor-widget-text-editor:last-child a {
	position: relative; padding-right: 1.3em; color: var(--hm-gold) !important; font-weight: 600;
	text-decoration: underline; text-decoration-color: rgba(214, 174, 79, .45); text-underline-offset: 4px;
}
.dd-hm-services .dd-card:not(.dd-card-accent) .elementor-widget-text-editor:last-child a::after {
	content: "\2192"; position: absolute; right: 0; bottom: 0; line-height: normal; text-decoration: none;
}
.dd-hm-services .dd-card:not(.dd-card-accent) .elementor-widget-text-editor:last-child a:hover { text-decoration-color: var(--hm-gold); }
.dd-hm-services .dd-card-accent {
	background:
		radial-gradient(420px 260px at 100% 0, rgba(214, 174, 79, .30), transparent 65%) padding-box,
		linear-gradient(180deg, #17304F, #10223A) padding-box,
		linear-gradient(140deg, var(--hm-gold), rgba(214, 174, 79, .25)) border-box !important;
}
@media (min-width: 1025px) {
	.dd-hm-services .dd-card-accent { grid-column: span 2; padding: 40px 44px !important; }
}

/* How we work: dark diagram and open steps with large gold numbers. */
.dd-hm-process .dd-diagram rect { fill: rgba(255, 255, 255, .04); stroke: rgba(214, 174, 79, .55); }
.dd-hm-process .dd-diagram rect[fill="#D6AE4F"] { fill: var(--hm-gold); stroke: var(--hm-gold); }
.dd-hm-process .dd-diagram text { fill: #fff; }
.dd-hm-process .dd-diagram rect[fill="#D6AE4F"] + text { fill: var(--hm-navy); }
.dd-hm-process .dd-diagram path { stroke: var(--hm-gold); }
.dd-hm-process .dd-diagram text[font-weight="500"] { fill: var(--hm-text); }
.dd-hm-process .dd-diagram-wrap::after { color: #9FB0C4; }
.dd-hm-process .dd-grid .dd-card {
	background: transparent !important; border: 0 !important; border-top: 1px solid rgba(214, 174, 79, .35) !important;
	border-radius: 0 !important; box-shadow: none !important; padding: 26px 8px 0 0 !important; transform: none !important;
}
.dd-hm-process .dd-grid .dd-card:hover { border-top-color: var(--hm-gold) !important; }
.dd-hm-process .dd-grid .dd-card .elementor-widget-heading:first-child .elementor-heading-title {
	font-size: 40px !important; line-height: 1 !important; font-weight: 700 !important; letter-spacing: -.03em;
	background: linear-gradient(100deg, var(--hm-gold-hi), var(--hm-gold) 60%, #C0943A);
	-webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent;
}

/* Planner teaser: glass list panel. */
.dd-hm-planner .dd-card { padding: 36px 34px !important; border-radius: 22px !important; }
.dd-hm-planner .dd-card li { padding-top: 7px; padding-bottom: 7px; }

/* Industries: heading and button beside dark outlined sector links. */
.dd-hm-industries .dd-chips li { padding: 0 !important; border: 0 !important; background: none !important; }
.dd-hm-industries .dd-chips a {
	display: inline-block; padding: 11px 18px !important; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px;
	background: rgba(255, 255, 255, .03); color: #E6ECF3 !important; font-size: 15px !important; font-weight: 500; line-height: 1.3;
	text-decoration: none !important;
}
.dd-hm-industries .dd-chips a:hover { border-color: var(--hm-gold); color: var(--hm-gold) !important; background: rgba(214, 174, 79, .08); }
.dd-hm-industries .dd-chips a:focus-visible { outline: 3px solid #fff; outline-offset: 2px; border-color: var(--hm-gold); }
@media (min-width: 1025px) {
	.dd-hm-industries > .e-con-inner {
		display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 80px; row-gap: 22px; align-items: start;
	}
	.dd-hm-industries > .e-con-inner > :nth-child(1) { grid-column: 1; grid-row: 1; }
	.dd-hm-industries > .e-con-inner > :nth-child(2) { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
	.dd-hm-industries > .e-con-inner > :nth-child(3) { grid-column: 1; grid-row: 2; }
}

/* Where we work: principles in a glass card. */
.dd-hm-where .dd-card { padding: 38px 36px !important; border-radius: 22px !important; }
@media (max-width: 767px) {
	.dd-hm-where .dd-card, .dd-hm-planner .dd-card { padding: 28px 22px !important; border-radius: 18px !important; }
	.dd-hm-services .dd-card { padding: 26px 22px !important; }
}

/* Closing call to action. */
.dd-hm-cta .dd-h2 .elementor-heading-title { font-size: clamp(32px, 4.4vw, 60px) !important; }

/* --------------------------------------------------------------------------
   Home hero orbit, simplified (3 Nov 2026): the explanatory block under the
   rings is hidden on screen. The rings, rotating items, centre pair label and
   the Previous / Pause / Next controls stay. The explanation and the ring legend
   stay available to screen readers; the orbit's live region still announces
   each example.
   -------------------------------------------------------------------------- */
.dd-hm-hero-orbit .dd-orbit__wide { display: none !important; }
.dd-hm-hero-orbit .dd-orbit__below,
.dd-hm-hero-orbit .dd-orbit__legend {
	position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important;
	overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important;
}
.dd-hm-hero-orbit .dd-orbit { position: relative; }

/* Hero label: one deliberate break (set in the heading text), never an extra wrap. */
.dd-hm-hero .dd-eyebrow .elementor-heading-title { white-space: nowrap; padding-left: 38px; text-indent: -38px; line-height: 1.75 !important; letter-spacing: .12em !important; }
@media (max-width: 420px) {
	.dd-hm-hero .dd-eyebrow .elementor-heading-title { font-size: 11.5px !important; letter-spacing: .08em !important; padding-left: 26px; text-indent: -26px; }
	.dd-hm-hero .dd-eyebrow .elementor-heading-title::before { width: 18px; margin-right: 8px; }
}

/* --------------------------------------------------------------------------
   Restrained motion (3 Nov 2026): only transform animates (160 to 220 ms), on
   hover and keyboard focus. Colours and borders change instantly. Nothing moves
   on load, and nothing moves when reduced motion is requested.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
	.dd-hm-hero .elementor-button,
	.dd-hm .elementor-button { transition: transform .18s ease-out !important; }
	.dd-hm-hero .elementor-button:hover, .dd-hm-hero .elementor-button:focus-visible,
	.dd-hm .elementor-button:hover, .dd-hm .elementor-button:focus-visible { transform: translateY(-2px); }
	.dd-hm-hero .elementor-button:active, .dd-hm .elementor-button:active { transform: translateY(0); }

	.dd-hm-services .dd-card { transition: transform .22s ease-out !important; }
	.dd-hm-services .dd-card:not(.dd-card-accent):hover,
	.dd-hm-services .dd-card:not(.dd-card-accent):focus-within { transform: translateY(-4px); }
	.dd-hm-services .dd-card:not(.dd-card-accent) .elementor-widget-text-editor:last-child a::after { transition: transform .18s ease-out; }
	.dd-hm-services .dd-card:not(.dd-card-accent):hover .elementor-widget-text-editor:last-child a::after,
	.dd-hm-services .dd-card:not(.dd-card-accent) .elementor-widget-text-editor:last-child a:focus-visible::after { transform: translateX(4px); }

	.dd-hm-industries .dd-chips a { transition: transform .18s ease-out; }
	.dd-hm-industries .dd-chips a:hover,
	.dd-hm-industries .dd-chips a:focus-visible { transform: translateY(-2px); }
}
@media (prefers-reduced-motion: reduce) {
	.dd-hm-hero .elementor-button, .dd-hm .elementor-button,
	.dd-hm-services .dd-card, .dd-hm-industries .dd-chips a,
	.dd-hm-services .dd-card a::after { transition: none !important; transform: none !important; }
}
