/* DevLon v3. Tokens come from the DevLon design system (Phase 3). Prefix: dl- */

@font-face { font-family: "Schibsted Grotesk"; font-style: normal; font-weight: 400 900; font-display: swap; src: url("../fonts/schibsted-grotesk-normal-400-900.woff2") format("woff2"); }
@font-face { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/instrument-serif-italic-400.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/ibm-plex-mono-normal-400.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/ibm-plex-mono-normal-500.woff2") format("woff2"); }

:root {
	--ink: #191919; --ink-raised: #262626; --ink-soft: #3d3d3d; --muted: #5c5c5c;
	--paper: #fff; --mist: #f5f5f5; --line: #e3e3e3; --control: #808080;
	--signal: #8fa8ff; --signal-tint: #eef2ff; --signal-deep: #1d4ed8;
	--on-ink: #fff; --on-ink-muted: #b3b3b3; --focus: #2357d1; --error: #b42318; --success: #1d7a44;
	--font-display: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
	--font-accent: "Instrument Serif", Georgia, serif;
	--font-mono: "IBM Plex Mono", Menlo, Consolas, monospace;
	--radius-sm: 4px; --radius-md: 8px; --radius-lg: 16px; --radius-pill: 999px;
	--tap-min: 44px; --measure: 68ch; --content-max: 1240px;
	--gutter: clamp(16px, 4.5vw, 64px);
	--section-y: clamp(64px, 7vw, 104px);
	--shadow-menu: 0 12px 32px rgba(25, 25, 25, .12);
	--header-h: 76px;
	/* Type scale: ten steps. Use these, never a one-off size. */
	--fs-label: 12px;
	--fs-note: 15px;
	--fs-ui: 16px;
	--fs-body: 18px;
	--fs-lead: 21px;
	--fs-h3: clamp(24px, .5vw + 21px, 28px);
	--fs-h3-lg: clamp(28px, 2.4vw, 36px);
	--fs-h2: clamp(34px, 3.3vw, 52px);
	--fs-h1-page: clamp(38px, 4.6vw, 64px);
	--fs-display: clamp(46px, 5.6vw, 92px);
}

/* Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 16px); }
body { margin: 0; font-family: var(--font-display); font-size: var(--fs-body); line-height: 1.65; color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote) { margin: 0; }
:where(ul, ol) { padding: 0; }
:where(button, input, select, textarea) { font: inherit; color: inherit; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--ink); text-underline-offset: .22em; }
a:hover { color: var(--ink-soft); }
:where(a, button, summary, input, textarea, select):focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.dl-on-ink :where(a, button, summary, input, textarea, select):focus-visible { outline-color: var(--signal); }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block: 0; }

.dl-skip { position: absolute; left: 16px; top: -100px; z-index: 100; padding: 12px 16px; background: var(--ink); color: var(--on-ink); border-radius: var(--radius-sm); font-weight: 600; }
.dl-skip:focus { top: 12px; color: var(--on-ink); }
.dl-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Layout */
.dl-wrap { width: 100%; max-width: var(--content-max); margin-inline: auto; padding-inline: var(--gutter); }
.dl-section { padding-block: var(--section-y); }
.dl-bg-mist { background: var(--mist); }
.dl-rule-top { border-top: 1px solid var(--line); }
.dl-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); }
.dl-grid-3, .dl-grid-4 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; list-style: none; padding: 0; }
.dl-stack { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.dl-heading-block { display: flex; flex-direction: column; gap: 20px; max-width: 820px; margin-bottom: clamp(40px, 4vw, 56px); }
.dl-heading-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: clamp(40px, 4vw, 56px); }
.dl-heading-row .dl-heading-block { margin-bottom: 0; max-width: 760px; }

@media (min-width: 600px) {
	.dl-grid-3, .dl-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	.dl-split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
	.dl-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dl-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Type */
.dl-h1 { font-size: var(--fs-display); line-height: .96; font-weight: 750; letter-spacing: -.035em; }
.dl-h2 { font-size: var(--fs-h2); line-height: 1.08; font-weight: 650; letter-spacing: -.028em; text-wrap: balance; }
.dl-h3 { font-size: var(--fs-h3); line-height: 1.2; font-weight: 650; letter-spacing: -.015em; }
.dl-h4 { font-size: var(--fs-lead); line-height: 1.33; font-weight: 650; letter-spacing: -.01em; }
.dl-accent { font-family: var(--font-accent); font-style: italic; font-weight: 400; letter-spacing: -.01em; }
.dl-lead { font-size: var(--fs-lead); line-height: 1.45; font-weight: 500; color: var(--ink); }
.dl-body { color: var(--muted); max-width: var(--measure); }
.dl-small { font-size: var(--fs-ui); line-height: 1.6; color: var(--muted); }
.dl-note { font-size: var(--fs-note); line-height: 1.55; color: var(--muted); }
.dl-eyebrow { font-family: var(--font-mono); font-size: var(--fs-label); line-height: 1.4; font-weight: 500; letter-spacing: .02em; color: var(--ink-soft); }
.dl-label { font-family: var(--font-mono); font-size: var(--fs-label); font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.dl-mono { font-family: var(--font-mono); }

/* Buttons and links */
.dl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 0 24px; border: 2px solid transparent; border-radius: var(--radius-sm); font: 600 var(--fs-ui)/1.25 var(--font-display); text-decoration: none; cursor: pointer; transition: background-color .18s ease-out, color .18s ease-out, border-color .18s ease-out; }
.dl-btn-arrow { transition: transform .18s ease-out; }
.dl-btn:hover .dl-btn-arrow { transform: translateX(3px); }
.dl-btn-primary { background: var(--ink); color: var(--on-ink); }
.dl-btn-primary:hover { background: var(--ink-soft); color: var(--on-ink); }
.dl-btn-primary .dl-btn-arrow { color: var(--signal); }
.dl-btn-secondary { border-color: var(--ink); color: var(--ink); padding: 0 22px; }
.dl-btn-secondary:hover { background: var(--ink); color: var(--on-ink); }
.dl-on-ink .dl-btn-primary { background: var(--signal); color: var(--ink); }
.dl-on-ink .dl-btn-primary:hover { background: var(--signal-tint); color: var(--ink); }
.dl-on-ink .dl-btn-primary .dl-btn-arrow { color: var(--ink); }
.dl-on-ink .dl-btn-secondary { border-color: var(--on-ink); color: var(--on-ink); }
.dl-on-ink .dl-btn-secondary:hover { background: var(--on-ink); color: var(--ink); }
.dl-link { font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .22em; text-decoration-color: var(--control); transition: text-decoration-color .18s ease-out; }
.dl-link:hover { color: var(--ink); text-decoration-color: var(--ink); text-decoration-thickness: 2px; }
.dl-on-ink .dl-link { color: var(--on-ink); text-decoration-color: var(--on-ink-muted); }
.dl-on-ink .dl-link:hover { color: var(--on-ink); text-decoration-color: var(--on-ink); }
.dl-link-strong { text-decoration-color: var(--signal-deep); text-decoration-thickness: 2px; }
.dl-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }

/* Header */
.dl-header { position: sticky; top: 0; z-index: 50; background: var(--paper); border-bottom: 1px solid var(--line); }
.wp-block-template-part:has(> .dl-header) { position: sticky; top: 0; z-index: 50; }
.admin-bar .dl-header, .admin-bar .wp-block-template-part:has(> .dl-header) { top: var(--wp-admin--admin-bar--height, 32px); }
.dl-header-inner { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--header-h); }
.dl-wordmark { font-weight: 800; font-size: var(--fs-h3); line-height: 1; letter-spacing: -.05em; color: var(--ink); text-decoration: none; }
.dl-wordmark:hover { color: var(--ink); }
.dl-wordmark i { font-style: normal; color: var(--signal-deep); }
.dl-on-ink .dl-wordmark { color: var(--on-ink); font-size: var(--fs-h3); }
.dl-on-ink .dl-wordmark i { color: var(--signal); }
.dl-menu-toggle { display: none; align-items: center; gap: 8px; min-height: var(--tap-min); padding: 0 16px; border: 1px solid var(--ink); border-radius: var(--radius-sm); background: var(--paper); color: var(--ink); font: 600 var(--fs-note)/1 var(--font-display); cursor: pointer; }
.dl-nav { display: block; width: 100%; padding-bottom: 16px; }
.js .dl-menu-toggle { display: inline-flex; }
.js .dl-nav { display: none; }
.dl-nav-list { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.dl-nav-item { position: relative; }
.dl-submenu-toggle { color: var(--ink); font-weight: 550; font-size: var(--fs-ui); }
.dl-nav-row { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.dl-nav-row > a { display: flex; align-items: center; min-height: var(--tap-min); text-decoration: none; color: var(--ink); font-weight: 550; }
.dl-nav-seo > .dl-nav-row > a { font-weight: 700; }
.dl-submenu-toggle { display: inline-grid; place-items: center; min-width: var(--tap-min); min-height: var(--tap-min); padding: 0; border: 0; background: none; cursor: pointer; font-size: var(--fs-label); }
.dl-submenu-toggle span { transition: transform .18s ease-out; }
.dl-submenu-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.dl-submenu { list-style: none; display: none; padding: 0 0 8px 16px; }
.dl-submenu.is-open { display: block; }
.dl-submenu a { display: flex; align-items: center; min-height: var(--tap-min); color: var(--ink); text-decoration: none; font-size: var(--fs-ui); }
.dl-submenu a:hover { text-decoration: underline; }
.dl-nav-cta { margin-top: 12px; }
.dl-nav-cta .dl-btn { min-height: var(--tap-min); padding: 0 20px; font-size: var(--fs-note); width: 100%; }
.js .dl-nav.is-open { display: block; position: absolute; left: 0; right: 0; top: 100%; background: var(--paper); border-bottom: 1px solid var(--line); padding: 8px var(--gutter) 24px; max-height: calc(100vh - var(--header-h)); overflow-y: auto; }

@media (min-width: 900px) {
	.js .dl-menu-toggle { display: none; }
	.dl-header-inner { flex-wrap: nowrap; }
	.dl-nav, .js .dl-nav, .js .dl-nav.is-open { display: block; width: auto; position: static; padding: 0; border: 0; max-height: none; overflow: visible; background: none; }
	.dl-nav-list { flex-direction: row; align-items: center; gap: 28px; }
	.dl-nav-row > a { font-size: var(--fs-note); }
	.dl-submenu-toggle { min-width: 24px; margin-left: -2px; }
	.dl-submenu { position: absolute; left: -12px; top: 100%; min-width: 240px; padding: 8px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-menu); }
	.dl-submenu.is-open { display: grid; animation: dl-fade .18s ease-out; }
	.dl-submenu a { padding: 0 12px; border-radius: var(--radius-sm); font-size: var(--fs-note); }
	.dl-submenu a:hover { background: var(--mist); text-decoration: none; }
	.dl-nav-cta { margin: 0; }
	.dl-nav-cta .dl-btn { width: auto; }
}

/* Hero */
.dl-hero { padding-block: clamp(40px, 4.5vw, 72px) var(--section-y); }
.dl-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(40px, 5vw, 72px); align-items: center; }
.dl-hero-copy { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.dl-hero-intro { display: flex; flex-direction: column; gap: 16px; max-width: 600px; }
.dl-hero-intro .dl-body { font-size: var(--fs-body); }
.dl-hero-actions { gap: 16px 24px; }
.dl-hero-visual { display: flex; flex-direction: column; gap: 14px; min-width: 0; max-width: 560px; width: 100%; justify-self: end; }
.dl-searchbox { display: flex; align-items: center; gap: 12px; padding: 14px 20px; border: 1px solid var(--control); border-radius: var(--radius-pill); background: var(--paper); font-family: var(--font-mono); font-size: var(--fs-note); color: var(--ink); overflow: hidden; }
.dl-searchbox svg { flex: none; }
.dl-caret { display: inline-block; width: 1px; height: 18px; background: var(--ink); }
.dl-snippet { display: flex; flex-direction: column; gap: 6px; padding: 28px; border-radius: var(--radius-lg); background: var(--ink); color: var(--on-ink); }
.dl-snippet-site { display: flex; align-items: center; gap: 12px; }
.dl-snippet-favicon { width: 30px; height: 30px; flex: none; border-radius: 50%; background: var(--signal); color: var(--ink); display: grid; place-items: center; font-weight: 800; font-size: var(--fs-note); }
.dl-snippet-meta { display: flex; flex-direction: column; line-height: 1.3; }
.dl-snippet-name { font-size: var(--fs-note); }
.dl-snippet-url { font-family: var(--font-mono); font-size: var(--fs-label); color: var(--on-ink-muted); }
.dl-snippet-title { margin-top: 10px; font-size: var(--fs-lead); line-height: 1.3; font-weight: 500; color: var(--signal); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.dl-snippet-desc { font-size: var(--fs-note); line-height: 1.55; color: var(--on-ink-muted); }
.dl-snippet-notes { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--ink-soft); }
.dl-snippet-notes-title { font-size: var(--fs-note); font-weight: 600; color: var(--on-ink); margin-bottom: 12px; }
.dl-snippet-notes dl { display: grid; gap: 10px; }
.dl-snippet-notes div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; align-items: baseline; }
.dl-snippet-notes dt { font-family: var(--font-mono); font-size: var(--fs-label); color: var(--signal); }
.dl-snippet-notes dd { font-size: var(--fs-note); line-height: 1.5; color: var(--on-ink-muted); }
@media (min-width: 900px) {
	.dl-hero-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}

/* Hero load sequence: plays once, about 3s. Content is visible without it. */
.dl-ln { display: inline-block; overflow: hidden; vertical-align: top; padding: 0 .08em .1em 0; margin-bottom: -.1em; }
.dl-ln > span { display: inline-block; }
.dl-hl { position: relative; z-index: 0; }
.dl-hl::after { content: ""; position: absolute; z-index: -1; left: -.04em; right: -.02em; bottom: .08em; height: .3em; background: var(--signal); transform-origin: left center; }
.dl-type { display: inline-block; overflow: hidden; white-space: nowrap; vertical-align: bottom; max-width: 28ch; }
@media (prefers-reduced-motion: no-preference) {
	.dl-ln > span { animation: dl-rise .9s cubic-bezier(.2, .7, .2, 1) both; }
	.dl-ln:nth-child(1) > span { animation-delay: .15s; }
	.dl-ln:nth-child(2) > span { animation-delay: .32s; }
	.dl-ln:nth-child(3) > span { animation-delay: .49s; }
	.dl-hl::after { animation: dl-draw .7s cubic-bezier(.3, .7, .2, 1) 1.15s both; }
	.dl-a-fade { animation: dl-fade .6s ease-out both; }
	.dl-a-up { animation: dl-fadeup .7s ease-out both; }
	.dl-d-60 { animation-delay: .6s; } .dl-d-85 { animation-delay: .85s; } .dl-d-105 { animation-delay: 1.05s; } .dl-d-125 { animation-delay: 1.25s; }
	.dl-type { width: 28ch; animation: dl-type 1.4s steps(28, end) 1s both; }
	.dl-caret { animation: dl-blink 1s steps(1, end) .6s 4; }
	.dl-snippet { animation: dl-cardin .8s cubic-bezier(.2, .7, .2, 1) 2.5s both; }
}
@keyframes dl-rise { from { transform: translateY(105%); } }
@keyframes dl-draw { from { transform: scaleX(0); } }
@keyframes dl-fadeup { from { opacity: 0; transform: translateY(8px); } }
@keyframes dl-fade { from { opacity: 0; } }
@keyframes dl-type { from { width: 0; } }
@keyframes dl-blink { 50% { opacity: 0; } }
@keyframes dl-cardin { from { opacity: 0; transform: translateY(16px); } }

/* Challenge */
.dl-columns { max-width: none; columns: 2 320px; column-gap: clamp(32px, 4vw, 64px); }
.dl-columns p { margin-bottom: 20px; }
.dl-columns p:last-child { margin-bottom: 0; }
/* Where websites lose customers: one small ink visual per problem */
.dl-leaks { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; list-style: none; padding: 0; }
.dl-leak { display: flex; flex-direction: column; gap: 8px; padding: 10px 10px 24px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); }
.dl-leak h3 { padding: 14px 14px 0; font-size: var(--fs-lead); line-height: 1.3; font-weight: 650; letter-spacing: -.01em; }
.dl-leak p { padding: 0 14px; font-size: var(--fs-ui); line-height: 1.55; color: var(--muted); }
.dl-leak-visual { height: 176px; display: grid; place-items: center; padding: 18px; border-radius: var(--radius-sm); background: var(--ink); color: var(--on-ink); font-size: var(--fs-label); line-height: 1.35; overflow: hidden; }
.dl-v-search, .dl-v-words, .dl-v-chart { width: 100%; display: flex; flex-direction: column; }
.dl-v-search { gap: 6px; }
.dl-v-query { margin-bottom: 4px; padding: 8px 12px; border: 1px solid var(--ink-soft); border-radius: var(--radius-pill); background: var(--ink-raised); font-family: var(--font-mono); }
.dl-v-result { padding: 6px 12px; border-bottom: 1px solid var(--ink-raised); color: var(--on-ink-muted); }
.dl-v-result.is-missing { border: 1px dashed var(--signal); border-radius: var(--radius-sm); color: var(--signal); }
.dl-v-words { gap: 14px; align-items: flex-start; }
.dl-v-words s { font-size: var(--fs-ui); color: var(--on-ink-muted); }
.dl-v-words span { padding: 6px 10px; border-radius: var(--radius-sm); background: var(--signal); color: var(--ink); font-size: var(--fs-ui); font-weight: 650; }
.dl-v-phone { width: 128px; height: 140px; display: flex; flex-direction: column; justify-content: space-between; padding: 14px 10px 10px; border: 2px solid var(--ink-soft); border-radius: var(--radius-lg); }
.dl-v-fold { padding-top: 4px; border-top: 1px dashed var(--signal); font-family: var(--font-mono); color: var(--signal); }
.dl-v-btn { padding: 5px 0; border-radius: var(--radius-sm); background: var(--ink-raised); color: var(--on-ink-muted); text-align: center; }
.dl-v-chart { gap: 10px; }
.dl-v-cap { font-family: var(--font-mono); color: var(--on-ink-muted); }
.dl-v-row { display: grid; grid-template-columns: 48px minmax(0, 1fr) 14px; align-items: center; gap: 10px; }
.dl-v-row b { font-weight: 500; }
.dl-v-row i { height: 12px; border: 1px dashed var(--control); border-radius: var(--radius-sm); }
.dl-v-row:nth-child(2) i { width: 85%; }
.dl-v-row:nth-child(3) i { width: 55%; }
.dl-v-row:nth-child(4) i { width: 30%; }
.dl-v-row em { font-family: var(--font-mono); font-style: normal; color: var(--signal); text-align: right; }
@media (min-width: 600px) { .dl-leaks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .dl-leaks { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.dl-gaps { margin-top: 56px; }
.dl-gaps li, .dl-steps li { display: flex; flex-direction: column; gap: 10px; padding-top: 20px; border-top: 2px solid var(--ink); }
.dl-gaps b { font-weight: 650; font-size: var(--fs-lead); letter-spacing: -.01em; line-height: 1.33; }
.dl-gaps span { font-size: var(--fs-ui); line-height: 1.6; color: var(--muted); }
.dl-section-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-top: 48px; }
.dl-section-foot p { color: var(--ink-soft); }
.dl-steps + .dl-section-foot { justify-content: flex-start; }

/* Services: full-width SEO panel first, supporting services as a smaller pair beneath */
.dl-services { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.dl-feature { display: flex; flex-direction: column; gap: 32px; min-width: 0; padding: clamp(28px, 4vw, 56px); border-radius: var(--radius-lg); background: var(--ink); color: var(--on-ink); }
.dl-feature-head { display: flex; flex-direction: column; gap: 16px; max-width: 640px; }
.dl-feature-head p { color: var(--on-ink-muted); }
.dl-feature-head .dl-h3 { font-size: var(--fs-h3); line-height: 1.15; letter-spacing: -.02em; }
.dl-tag { align-self: flex-start; padding: 2px 10px; border-radius: var(--radius-pill); background: var(--signal); color: var(--ink); font-family: var(--font-mono); font-size: var(--fs-label); font-weight: 500; letter-spacing: .04em; }
.dl-feature-list { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 40px; border-top: 1px solid var(--ink-soft); }
.dl-feature-list li { padding: 18px 0; border-bottom: 1px solid var(--ink-soft); }
.dl-feature-list b { display: block; font-weight: 600; }
.dl-feature-list span { font-size: var(--fs-note); line-height: 1.55; color: var(--on-ink-muted); }
.dl-services-side { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; min-width: 0; }
.dl-card { display: flex; flex-direction: column; gap: 14px; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius-md); }
.dl-card .dl-h4 { font-size: var(--fs-lead); line-height: 1.3; }
.dl-card p.dl-small { flex: 1; }
.dl-card .dl-link { font-size: var(--fs-ui); }
@media (min-width: 600px) {
	.dl-feature-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dl-feature-list li:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.dl-services-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
	.dl-feature { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: auto 1fr; grid-template-areas: "head list" "actions list"; column-gap: clamp(40px, 5vw, 72px); row-gap: 32px; align-content: start; }
	.dl-feature-head { grid-area: head; }
	.dl-feature-list { grid-area: list; align-self: start; }
	.dl-feature .dl-actions { grid-area: actions; align-self: start; }
}

/* Approach */
.dl-panel { display: flex; flex-direction: column; gap: 14px; padding: 32px; border-radius: var(--radius-md); background: var(--mist); }
.dl-panel.is-lead { background: var(--signal-tint); }
.dl-panel p { font-size: var(--fs-ui); line-height: 1.6; color: var(--ink-soft); }

/* Why DevLon */
.dl-why { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 40px; row-gap: 48px; list-style: none; padding: 0; }
.dl-why > li { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 1px solid var(--control); }
.dl-people { display: grid; gap: 16px; margin-top: clamp(40px, 4vw, 56px); padding: 24px clamp(24px, 3vw, 32px); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); }
.dl-person { display: flex; align-items: center; gap: 12px; line-height: 1.35; }
.dl-person b { font-weight: 600; }
.dl-person .dl-note { display: block; }
.dl-initials { width: 44px; height: 44px; flex: none; border-radius: 50%; display: grid; place-items: center; font-family: var(--font-mono); font-size: var(--fs-note); font-weight: 500; background: var(--ink); color: var(--signal); }
.dl-initials.is-alt { background: var(--mist); color: var(--ink); border: 1px solid var(--control); }
.dl-people-list { display: flex; flex-wrap: wrap; gap: 12px 40px; list-style: none; }
@media (min-width: 600px) and (max-width: 1099px) {
	.dl-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dl-why > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (min-width: 900px) {
	.dl-people { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "title list" "note list" "link list"; align-items: center; column-gap: clamp(32px, 4vw, 64px); row-gap: 6px; }
	.dl-people > h3 { grid-area: title; align-self: end; }
	.dl-people > .dl-note { grid-area: note; align-self: start; }
	.dl-people-list { grid-area: list; }
	.dl-people > .dl-link { grid-area: link; justify-self: start; margin-top: 6px; }
}
@media (min-width: 1100px) {
	.dl-why { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 32px; }
}

/* Two-part section heading: title left, intro right */
.dl-heading-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px clamp(32px, 5vw, 80px); align-items: end; margin-bottom: clamp(40px, 4vw, 56px); }
@media (min-width: 900px) { .dl-heading-split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }

/* Who we work with */
.dl-audience { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; list-style: none; padding: 0; }
.dl-audience li { display: flex; flex-direction: column; gap: 10px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); }
.dl-audience p { font-size: var(--fs-ui); line-height: 1.6; color: var(--muted); }
@media (min-width: 600px) and (max-width: 899px) {
	.dl-audience { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dl-audience li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (min-width: 900px) {
	.dl-audience { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.dl-audience li { grid-column: span 2; }
	.dl-audience li:nth-child(n+4) { grid-column: span 3; }
}

/* Process */
.dl-steps { counter-reset: none; }
.dl-step-n { font-family: var(--font-mono); font-size: var(--fs-label); color: var(--ink-soft); }
.dl-steps p { font-size: var(--fs-ui); line-height: 1.6; color: var(--muted); }

/* Who we work with */
.dl-rows { list-style: none; border-top: 1px solid var(--control); min-width: 0; }
.dl-rows li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px 24px; padding: 22px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.dl-rows p { font-size: var(--fs-ui); line-height: 1.6; color: var(--muted); }
@media (min-width: 900px) { .dl-rows li { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }

/* Manchester */
.dl-location { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); }
.dl-location .dl-body { max-width: 64ch; }
.dl-facts { align-self: start; padding: 8px 32px; border: 1px solid var(--line); border-radius: var(--radius-md); min-width: 0; }
.dl-facts div { display: flex; flex-direction: column; gap: 4px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.dl-facts div:last-child { border-bottom: 0; }
.dl-facts dt { font-size: var(--fs-note); color: var(--muted); }
.dl-facts dd { font-weight: 600; }
@media (min-width: 900px) { .dl-location { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }

/* FAQ */
@media (min-width: 900px) { .dl-faq-aside { position: sticky; top: 112px; align-self: start; } }
.dl-faq { border-top: 1px solid var(--control); min-width: 0; max-width: 760px; }
.dl-faq details { border-bottom: 1px solid var(--line); }
.dl-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: var(--tap-min); padding: 22px 0; list-style: none; cursor: pointer; }
.dl-faq summary::-webkit-details-marker { display: none; }
.dl-faq summary h3 { font-size: var(--fs-lead); line-height: 1.33; font-weight: 600; letter-spacing: -.01em; }
.dl-faq summary::after { content: "+"; flex: none; font: 400 var(--fs-lead)/1 var(--font-mono); color: var(--ink-soft); transition: transform .2s ease-out; }
.dl-faq details[open] summary::after { transform: rotate(45deg); }
.dl-faq details > div { padding: 0 0 24px; font-size: var(--fs-ui); line-height: 1.65; color: var(--muted); max-width: 64ch; }

/* CTA band */
.dl-cta { display: flex; flex-direction: column; gap: 24px; padding: clamp(32px, 6vw, 96px) clamp(24px, 5vw, 80px); border-radius: var(--radius-lg); background: var(--ink); color: var(--on-ink); }
.dl-cta h2 { font-size: var(--fs-h2); line-height: 1.02; font-weight: 750; letter-spacing: -.035em; max-width: 900px; }
.dl-cta-copy { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.dl-cta-side { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
@media (min-width: 900px) {
	.dl-cta { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; column-gap: clamp(40px, 5vw, 80px); }
	.dl-cta-side .dl-actions { flex-direction: column; align-items: stretch; }
	.dl-cta-side .dl-btn { justify-content: center; }
}
.dl-cta-copy p { font-size: var(--fs-body); color: var(--on-ink-muted); max-width: 60ch; }
.dl-cta .dl-note { color: var(--on-ink-muted); }
.dl-cta .dl-note a { color: var(--on-ink); font-family: var(--font-mono); }

/* Footer */
.dl-footer { background: var(--ink); color: var(--on-ink); }
.dl-footer-inner { padding-block: 72px 32px; display: flex; flex-direction: column; gap: 56px; }
.dl-footer-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
.dl-footer-brand { display: flex; flex-direction: column; gap: 14px; max-width: 340px; }
.dl-footer-brand p { font-size: var(--fs-note); line-height: 1.6; color: var(--on-ink-muted); }
.dl-footer-brand .dl-eyebrow { font-size: var(--fs-label); color: var(--on-ink-muted); letter-spacing: .08em; }
.dl-footer-label { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: .12em; text-transform: uppercase; color: var(--on-ink-muted); margin-bottom: 14px; }
.dl-footer ul { list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: var(--fs-note); }
.dl-footer a { color: var(--on-ink); text-decoration: none; }
.dl-footer .dl-wordmark { font-size: var(--fs-h3); }
.dl-footer a:hover { color: var(--on-ink); text-decoration: underline; }
.dl-footer .dl-quiet { color: var(--on-ink-muted); }
.dl-footer-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding-top: 24px; border-top: 1px solid var(--ink-soft); font-size: var(--fs-note); color: var(--on-ink-muted); }
.dl-footer-base nav { display: flex; gap: 20px; }
.dl-footer-base a { text-decoration: underline; }
@media (min-width: 600px) { .dl-footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .dl-footer-cols { grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); } }

/* Generic pages (inner pages before their own templates exist) */
.dl-page { padding-block: clamp(48px, 6vw, 96px) var(--section-y); }
.dl-page-title { font-size: var(--fs-h1-page); line-height: 1.04; font-weight: 750; letter-spacing: -.03em; text-wrap: balance; margin-bottom: 32px; }
.dl-prose { max-width: var(--measure); }
.dl-prose > * + * { margin-top: 1em; }
.dl-prose h2 { font-size: var(--fs-h3-lg); line-height: 1.15; font-weight: 650; letter-spacing: -.02em; margin-top: 1.6em; }
.dl-prose h3 { font-size: var(--fs-lead); line-height: 1.3; font-weight: 650; margin-top: 1.4em; }
.dl-prose ul, .dl-prose ol { padding-left: 1.2em; }

/* Enquiry form */
.dl-form { display: grid; gap: 20px; max-width: 640px; }
.dl-field { display: grid; gap: 8px; }
.dl-field label, .dl-field legend { font-weight: 600; font-size: var(--fs-note); }
.dl-field .dl-hint { font-size: var(--fs-note); color: var(--muted); font-weight: 400; }
.dl-field input, .dl-field textarea, .dl-field select { width: 100%; font: 400 var(--fs-ui)/1.4 var(--font-display); color: var(--ink); background: var(--paper); border: 1px solid var(--control); border-radius: var(--radius-sm); padding: 12px 16px; min-height: var(--tap-min); }
.dl-field textarea { min-height: 140px; resize: vertical; }
.dl-field input:hover, .dl-field textarea:hover, .dl-field select:hover { border-color: var(--ink-soft); }
.dl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.dl-notice { padding: 16px 20px; border-radius: var(--radius-sm); font-weight: 500; }
.dl-notice.is-success { background: #e6f4ec; color: var(--success); }
.dl-notice.is-error { background: #fdecea; color: var(--error); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Elementor-built pages: inline links inside text stay visibly underlined */
.dl-builder p a, .dl-builder h3 a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* Photos (homepage) */
.dl-feature-list.is-compact li { display: flex; align-items: center; gap: 12px; padding: 14px 0; }
.dl-feature-list.is-compact li::before { content: ""; width: 8px; height: 8px; flex: none; background: var(--signal); }
.dl-photo-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.dl-photo { position: relative; min-width: 0; }
.dl-photo img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-lg); background: var(--line); }
.dl-photo figcaption, .dl-city-credit { margin-top: 10px; font-size: var(--fs-label); line-height: 1.4; color: var(--muted); }
.dl-photo figcaption a, .dl-city-credit a { color: inherit; }
.dl-connect { list-style: none; display: grid; gap: 0; margin-top: 12px; border-top: 1px solid var(--line); counter-reset: dl-connect; }
.dl-connect li { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 16px; row-gap: 4px; padding: 20px 0; border-bottom: 1px solid var(--line); counter-increment: dl-connect; }
.dl-connect li::before { content: counter(dl-connect); grid-row: 1 / 3; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--signal); font: 500 var(--fs-note)/1 var(--font-mono); }
.dl-connect p { font-size: var(--fs-ui); line-height: 1.55; color: var(--muted); }
.dl-audience-list { list-style: none; margin-top: 12px; border-top: 1px solid var(--control); }
.dl-audience-list li { display: grid; gap: 2px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.dl-audience-list b { font-size: var(--fs-lead); line-height: 1.33; font-weight: 650; letter-spacing: -.01em; }
.dl-audience-list span { font-size: var(--fs-ui); color: var(--muted); }
.dl-city { position: relative; display: grid; background: var(--ink); color: var(--on-ink); overflow: hidden; }
.dl-city > picture, .dl-city-inner { grid-area: 1 / 1; }
.dl-city-img { display: block; width: 100%; height: 100%; min-height: 720px; object-fit: cover; object-position: 50% 100%; }
.dl-city-inner { position: relative; z-index: 1; padding-block: clamp(56px, 6vw, 88px) 0; }
.dl-city-copy { display: flex; flex-direction: column; gap: 20px; max-width: 620px; }
.dl-city-copy .dl-body { color: var(--on-ink); }
.dl-city-links { display: flex; flex-wrap: wrap; gap: 12px 32px; }
.dl-city-credit { position: absolute; right: var(--gutter); bottom: 12px; z-index: 1; margin: 0; color: var(--on-ink-muted); }
@media (min-width: 900px) {
	.dl-photo-split { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
	.dl-photo-split.is-reversed { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
	.dl-photo-split.is-reversed .dl-photo { order: 2; }
	.dl-photo-split.is-reversed .dl-photo img { aspect-ratio: 4 / 5; }
}
@media (max-width: 899px) {
	.dl-photo img { aspect-ratio: 3 / 2; max-height: 420px; }
	.dl-city-img { min-height: 640px; }
}

/* Elementor-built pages: Elementor containers and widgets wear the same dl-* classes as the theme markup */
.dl-builder .e-con { --display: flex; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --flex-direction: column; --flex-wrap: nowrap; --container-widget-width: auto; }
:where(.dl-builder) .elementor-heading-title { font: inherit; line-height: inherit; letter-spacing: inherit; color: inherit; text-wrap: inherit; }
.dl-builder .elementor-widget-text-editor > :where(p, ul, ol) + :where(p, ul, ol) { margin-top: 1em; }
.dl-b .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 0 24px; border: 2px solid transparent; border-radius: var(--radius-sm); font: 600 var(--fs-ui)/1.25 var(--font-display); text-decoration: none; transition: background-color .18s ease-out, color .18s ease-out, border-color .18s ease-out; }
.dl-b .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 12px; }
.dl-b-arrow .elementor-button-content-wrapper::after { content: "\2192"; transition: transform .18s ease-out; }
.dl-b-arrow .elementor-button:hover .elementor-button-content-wrapper::after { transform: translateX(3px); }
.dl-b-primary .elementor-button { background: var(--ink); color: var(--on-ink); }
.dl-b-primary .elementor-button:hover { background: var(--ink-soft); color: var(--on-ink); }
.dl-b-primary.dl-b-arrow .elementor-button-content-wrapper::after { color: var(--signal); }
.dl-b-secondary .elementor-button { background: transparent; border-color: var(--ink); color: var(--ink); padding: 0 22px; }
.dl-b-secondary .elementor-button:hover { background: var(--ink); color: var(--on-ink); }
.dl-on-ink .dl-b-primary .elementor-button { background: var(--signal); color: var(--ink); }
.dl-on-ink .dl-b-primary .elementor-button:hover { background: var(--signal-tint); color: var(--ink); }
.dl-on-ink .dl-b-primary.dl-b-arrow .elementor-button-content-wrapper::after { color: var(--ink); }
.dl-on-ink .dl-b-secondary .elementor-button { border-color: var(--on-ink); color: var(--on-ink); }
.dl-on-ink .dl-b-secondary .elementor-button:hover { background: var(--on-ink); color: var(--ink); }
.dl-builder .dl-feature-list > .e-con, .dl-builder .dl-feature-list > .elementor-widget { padding: 14px 0; border-bottom: 1px solid var(--ink-soft); font-weight: 600; }
.dl-builder .dl-feature-list.is-compact > .elementor-widget { display: flex; align-items: center; gap: 12px; }
.dl-builder .dl-feature-list.is-compact > .elementor-widget::before { content: ""; width: 8px; height: 8px; flex: none; background: var(--signal); }
.dl-builder .dl-connect > .e-con { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 16px; row-gap: 4px; padding: 20px 0; border-bottom: 1px solid var(--line); counter-increment: dl-connect; }
.dl-builder .dl-connect > .e-con::before { content: counter(dl-connect); grid-row: 1 / 3; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--signal); font: 500 var(--fs-note)/1 var(--font-mono); }
.dl-builder .dl-why > .e-con { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 1px solid var(--control); }
.dl-builder .dl-steps > .e-con { display: flex; flex-direction: column; gap: 10px; padding-top: 20px; border-top: 2px solid var(--ink); }
.dl-builder .dl-audience-list > .e-con { display: grid; gap: 2px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.dl-builder .dl-city { min-height: 720px; background-color: var(--ink); }
.dl-builder .dl-city-copy .dl-body { color: var(--on-ink); }
.dl-builder .dl-cta-side .dl-b .elementor-button { width: 100%; }
.dl-builder :is(.dl-actions, .dl-section-foot, .dl-city-links) { --flex-direction: row; --flex-wrap: wrap; }
.dl-builder .dl-connect > .e-con::before { position: static; border: 0; opacity: 1; mix-blend-mode: normal; }
.dl-builder .dl-tag p { color: inherit; }
.dl-builder .dl-photo figcaption { text-align: left; }
@media (min-width: 600px) and (max-width: 1099px) {
	.dl-builder .dl-why > .e-con:nth-last-child(1 of .elementor-element):nth-child(odd of .elementor-element) { grid-column: 1 / -1; }
}
@media (min-width: 600px) {
	.dl-builder .dl-feature-list > .elementor-widget:nth-last-child(1 of .elementor-element):nth-child(odd of .elementor-element) { grid-column: 1 / -1; }
}
@media (min-width: 900px) {
	.dl-builder .dl-people > .elementor-widget-heading { grid-area: title; align-self: end; }
	.dl-builder .dl-people > .elementor-widget-html { grid-area: list; }
	.dl-builder .dl-people > .dl-people-link { grid-area: link; justify-self: start; margin-top: 6px; }
}
@media (max-width: 899px) {
	.dl-builder .dl-city { min-height: 640px; }
}

/* Top-level Elementor containers get max-width:100% from Elementor, so the hero and CTA ran wider than the content column. */
.dl-builder .elementor > .e-con.dl-wrap { max-width: var(--content-max); margin-inline: auto; }
.dl-city-credit { right: max(var(--gutter), calc((100% - var(--content-max)) / 2 + var(--gutter))); }

/* SEO Manchester: "two places to be found" search visual */
.dl-serp { display: flex; flex-direction: column; gap: 18px; max-width: 520px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); }
.dl-serp-q { padding: 10px 16px; border: 1px solid var(--line); border-radius: var(--radius-pill); font-family: var(--font-mono); font-size: var(--fs-label); }
.dl-serp-label { margin-bottom: 8px; font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: .04em; color: var(--muted); }
.dl-serp ol { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.dl-serp li { padding: 10px 14px; border-radius: var(--radius-sm); background: var(--mist); font-size: var(--fs-note); color: var(--muted); }
.dl-serp li.is-you { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; background: var(--ink); color: var(--on-ink); }
.dl-serp li.is-you span { font-family: var(--font-mono); font-size: var(--fs-label); color: var(--signal); }
.dl-services-more { margin-top: 24px; }

/* Landing components (dlx-), from Sub's SEO Manchester prototype (11 October 2026), in DevLon tokens.
   Reusable on any Elementor page: each class sits on an Elementor container or widget. */
.dlx-page { --dlx-h2: clamp(36px, 4.6vw, 64px); --dlx-gap: 14px; --dlx-radius: 20px; --dlx-shadow: 0 18px 70px rgba(25, 25, 25, .08); --dlx-pad: clamp(72px, 8vw, 116px); }
.dlx-page .elementor-widget-text-editor p { color: var(--muted); }
.dlx-page .dl-on-ink .elementor-widget-text-editor p { color: var(--on-ink-muted); }
.dlx-block { padding-block: var(--dlx-pad); }
.dlx-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: var(--fs-label); font-weight: 700; line-height: 1.2; letter-spacing: .14em; text-transform: uppercase; }
.dlx-eyebrow p { color: var(--signal-deep) !important; display: inline-flex; align-items: center; gap: 10px; }
.dlx-eyebrow p::before { content: ""; width: 22px; height: 2px; background: currentColor; }
.dl-on-ink .dlx-eyebrow p { color: var(--signal) !important; }
.dlx-h2 { font-size: var(--dlx-h2); line-height: 1.04; font-weight: 750; letter-spacing: -.045em; text-wrap: balance; }
.dlx-lead p { font-size: var(--fs-body); line-height: 1.7; max-width: 640px; }
.dlx-heading { gap: 20px; max-width: 800px; margin-bottom: 46px; }
.dlx-heading .dlx-lead { margin-top: -2px; }
.dlx-page .dlx-actions { --flex-direction: row; --flex-wrap: wrap; gap: 12px; }

/* Buttons */
.dlx-btn .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 14px 22px; border: 1px solid transparent; border-radius: var(--radius-md); font: 700 var(--fs-note)/1.2 var(--font-display); text-decoration: none; transition: background-color .2s, border-color .2s, transform .2s; }
.dlx-btn .elementor-button:hover { transform: translateY(-2px); }
.dlx-btn .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 14px; }
.dlx-btn .elementor-button-content-wrapper::after { content: "\2192"; }
.dlx-btn-down .elementor-button-content-wrapper::after { content: "\2193"; }
.dlx-btn-dark .elementor-button { background: var(--ink); color: var(--on-ink); }
.dlx-btn-dark .elementor-button:hover { background: var(--ink-soft); color: var(--on-ink); }
.dlx-btn-dark .elementor-button-content-wrapper::after { color: var(--signal); }
.dlx-btn-light .elementor-button { background: var(--signal); color: var(--ink); }
.dlx-btn-light .elementor-button:hover { background: var(--signal-tint); color: var(--ink); }
.dlx-btn-outline .elementor-button { border-color: var(--control); background: transparent; color: var(--ink); }
.dlx-btn-outline .elementor-button:hover { border-color: var(--ink); background: var(--mist); color: var(--ink); }
.dl-on-ink .dlx-btn-outline .elementor-button { border-color: var(--on-ink-muted); color: var(--on-ink); }
.dl-on-ink .dlx-btn-outline .elementor-button:hover { border-color: var(--on-ink); background: var(--ink-raised); color: var(--on-ink); }
.dlx-link a { display: inline-flex; align-items: center; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--control); font-size: var(--fs-note); font-weight: 700; text-decoration: none; color: var(--ink); }
.dlx-link a::after { content: "\2192"; }
.dl-on-ink .dlx-link a { color: var(--signal); border-color: var(--ink-soft); }

/* Hero */
.dlx-hero { padding-block: clamp(28px, 4vw, 56px) clamp(58px, 6.5vw, 92px); overflow: hidden; }
.dlx-crumbs { margin-bottom: clamp(32px, 4vw, 52px); }
.dlx-crumbs p { font-size: var(--fs-label); letter-spacing: .03em; color: var(--muted); }
.dlx-crumbs a { color: inherit; }
.dlx-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: center; }
.dlx-hero-copy { gap: 0; }
.dlx-display { margin: 24px 0 24px; font-size: var(--fs-display); line-height: 1; font-weight: 750; letter-spacing: -.05em; }
.dlx-display em { font-family: var(--font-accent); font-weight: 400; font-style: italic; letter-spacing: -.02em; color: var(--signal-deep); }
.dlx-hero-desc { margin-bottom: 28px; }
.dlx-hero-desc p { font-size: var(--fs-body); line-height: 1.68; max-width: 540px; }
.dlx-hero-note { margin-top: 18px; }
.dlx-hero-note p { display: flex; align-items: center; gap: 8px; font-size: var(--fs-label); }
.dlx-hero-note p::before { content: "\2713"; color: var(--signal-deep); font-weight: 700; }
.dlx-art { position: relative; height: 470px; overflow: hidden; isolation: isolate; border-radius: 24px; background: var(--ink); color: var(--on-ink); box-shadow: 0 30px 90px rgba(25, 25, 25, .18); }
.dlx-art::before { content: ""; position: absolute; inset: -10%; opacity: .1; background-image: linear-gradient(to right, #fff 1px, transparent 1px), linear-gradient(to bottom, #fff 1px, transparent 1px); background-size: 43px 43px; transform: rotate(-12deg) scale(1.17); }
.dlx-art-top { position: absolute; top: 26px; left: 28px; right: 28px; z-index: 3; display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--on-ink-muted); }
.dlx-art-tag { padding: 7px 11px; border: 1px solid var(--ink-soft); border-radius: var(--radius-pill); letter-spacing: .04em; text-transform: none; }
.dlx-art-map { position: absolute; inset: 92px 0 0; }
.dlx-art-map svg { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .6; }
.dlx-art-pin { position: absolute; left: 69%; top: 27%; z-index: 2; width: 20px; height: 20px; border: 5px solid var(--ink); border-radius: 50%; outline: 2px solid var(--signal); background: var(--signal); box-shadow: 0 0 0 16px rgba(143, 168, 255, .12); }
.dlx-art-label { position: absolute; left: 73%; top: 21%; z-index: 2; font-size: 13px; font-weight: 700; color: var(--on-ink); }
.dlx-art-note { position: absolute; top: 128px; left: 28px; z-index: 3; max-width: 330px; margin-right: 28px; padding: 18px 20px; border-radius: 13px; background: var(--paper); color: var(--ink); box-shadow: 0 20px 50px rgba(0, 0, 0, .2); transform: rotate(-3deg); }
.dlx-art-kicker { display: flex; align-items: center; gap: 7px; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.dlx-art-kicker::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--signal-deep); }
.dlx-art-main { margin: 11px 0 9px; font-size: 20px; line-height: 1.24; font-weight: 750; letter-spacing: -.03em; }
.dlx-art-caption { font-size: var(--fs-label); line-height: 1.5; color: var(--muted); }
.dlx-journey { position: absolute; left: 28px; right: 28px; bottom: 26px; z-index: 4; padding: 20px; border: 1px solid var(--ink-soft); border-radius: 15px; background: rgba(38, 38, 38, .9); }
.dlx-journey-head { display: flex; justify-content: space-between; margin-bottom: 16px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--on-ink-muted); }
.dlx-journey ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin: 0; padding: 0; list-style: none; }
.dlx-journey li { position: relative; }
.dlx-journey li + li::before { content: "\2192"; position: absolute; left: -22px; top: 0; color: var(--signal); font-size: 13px; }
.dlx-journey strong { display: block; font-size: 14px; font-weight: 700; }
.dlx-journey span { display: block; margin-top: 4px; font-size: 11px; color: var(--on-ink-muted); }

/* Trust strip */
.dlx-strip { border-block: 1px solid var(--line); background: var(--mist); }
.dlx-strip ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 24px 0; list-style: none; }
.dlx-strip li { display: flex; align-items: center; gap: 11px; font-size: 13px; font-weight: 700; line-height: 1.35; color: var(--ink-soft); }
.dlx-strip svg { flex: none; width: 20px; height: 20px; color: var(--signal-deep); }

/* Services: feature panel + cards */
.dlx-services { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--dlx-gap); }
.dlx-feature { position: relative; overflow: hidden; justify-content: space-between; gap: 40px; min-height: 420px; padding: clamp(27px, 3vw, 38px); border-radius: var(--dlx-radius); background: var(--ink); color: var(--on-ink); }
.dlx-feature::after { content: ""; position: absolute; right: -125px; bottom: -150px; width: 380px; height: 380px; border: 1px solid var(--ink-soft); border-radius: 50%; box-shadow: inset 0 0 0 40px var(--ink), inset 0 0 0 41px var(--ink-soft), inset 0 0 0 83px var(--ink), inset 0 0 0 84px var(--ink-soft); pointer-events: none; }
.dlx-feature > * { position: relative; z-index: 1; }
.dlx-feature-copy { gap: 18px; }
.dlx-feature-title { max-width: 430px; font-size: clamp(34px, 3.4vw, 48px); line-height: 1.06; font-weight: 750; letter-spacing: -.04em; }
.dlx-feature-copy .elementor-widget-text-editor p { max-width: 400px; font-size: var(--fs-note); }
.dlx-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--dlx-gap); }
.dlx-card { gap: 11px; min-height: 180px; padding: 26px; border: 1px solid var(--line); border-radius: var(--dlx-radius); background: var(--paper); transition: transform .25s, box-shadow .25s; }
.dlx-card:hover { transform: translateY(-3px); box-shadow: var(--dlx-shadow); }
.dlx-icon svg { display: block; width: 26px; height: 26px; color: var(--signal-deep); }
.dlx-card-title { margin-top: 14px; font-size: 22px; line-height: 1.17; font-weight: 700; letter-spacing: -.025em; }
.dlx-card .elementor-widget-text-editor p { font-size: 14px; line-height: 1.6; }

/* Local / areas */
.dlx-sand { background: var(--mist); }
.dlx-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; }
.dlx-split-copy { gap: 22px; }
.dlx-split-copy .elementor-widget-text-editor p { font-size: var(--fs-body); line-height: 1.72; }
.dlx-areas { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; min-height: 330px; padding: clamp(23px, 3vw, 30px); border: 1px solid var(--line); border-radius: 21px; background: var(--signal-tint); }
.dlx-areas::after { content: "M"; position: absolute; right: -36px; top: -25px; font: 400 390px/1 var(--font-accent); font-style: italic; color: rgba(29, 78, 216, .08); transform: rotate(-13deg); pointer-events: none; }
.dlx-areas > * { position: relative; z-index: 1; }
.dlx-areas-label { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--signal-deep); }
.dlx-areas-title { max-width: 420px; margin-top: 18px; font-size: clamp(34px, 4.4vw, 56px); line-height: 1.06; font-weight: 750; letter-spacing: -.05em; }
.dlx-areas ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dlx-areas li { padding: 8px 13px; border: 1px solid #c7d3ff; border-radius: var(--radius-pill); background: var(--paper); font-size: 12px; font-weight: 700; color: var(--ink-soft); }

/* Process band */
.dlx-band { background: var(--ink); color: var(--on-ink); }
.dlx-band .dlx-h2 { max-width: 800px; margin-top: 22px; color: var(--on-ink); }
.dlx-band .dlx-lead { margin: 18px 0 54px; }
.dlx-band .dlx-lead p { color: var(--on-ink-muted); }
.dlx-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 27px 16px; }
.dlx-step { gap: 0; min-height: 150px; padding: 25px 13px 0 0; border-top: 1px solid var(--ink-soft); }
.dlx-step-n p { font: 400 37px/1 var(--font-accent); font-style: italic; color: var(--signal) !important; }
.dlx-step-title { margin: 22px 0 10px; font-size: 22px; font-weight: 700; letter-spacing: -.025em; }
.dlx-step .elementor-widget-text-editor:last-child p { font-size: 14px; line-height: 1.7; }

/* Outcomes */
.dlx-outcome-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: end; margin-bottom: 46px; }
.dlx-outcome-head > .e-con { gap: 22px; }
.dlx-outcomes { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--dlx-gap); }
.dlx-outcome { min-height: 190px; padding: 32px; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); }
.dlx-outcome-n p { font-size: var(--fs-label); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--signal-deep) !important; }
.dlx-outcome-title { margin: 30px 0 14px; font-size: 28px; line-height: 1.14; font-weight: 700; letter-spacing: -.03em; }
.dlx-outcome .elementor-widget-text-editor:last-child p { font-size: 15px; }

/* Pricing card */
.dlx-costs { padding: 32px 34px; border: 1px solid var(--line); border-radius: var(--dlx-radius); background: var(--paper); box-shadow: var(--dlx-shadow); }
.dlx-costs h3 { margin-bottom: 18px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--signal-deep); }
.dlx-costs ol { margin: 0; padding: 0; list-style: none; counter-reset: dlx-cost; }
.dlx-costs li { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 4px 16px; padding: 17px 0; border-bottom: 1px solid var(--line); counter-increment: dlx-cost; }
.dlx-costs li:last-child { border-bottom: 0; }
.dlx-costs li::before { content: counter(dlx-cost, decimal-leading-zero); grid-row: span 2; font-size: 13px; font-weight: 700; color: var(--signal-deep); }
.dlx-costs strong { font-size: var(--fs-ui); letter-spacing: -.02em; }
.dlx-costs span { font-size: 14px; color: var(--muted); }

/* Team */
.dlx-team { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.dlx-person { display: flex; align-items: center; gap: 22px; padding: clamp(21px, 3vw, 34px); border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.dlx-avatar { flex: none; width: 72px; height: 72px; display: grid; place-items: center; border-radius: 13px; background: var(--signal-tint); color: var(--signal-deep); font: 400 26px/1 var(--font-accent); font-style: italic; }
.dlx-person h3 { margin-bottom: 4px; font-size: 23px; font-weight: 700; letter-spacing: -.025em; }
.dlx-person p { font-size: 14px; color: var(--muted); }
.dlx-team-foot { margin-top: 28px; }

/* FAQ */
.dlx-faq-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.dlx-faq-aside { gap: 20px; }
.dlx-faq-aside .elementor-widget-text-editor p { max-width: 320px; font-size: var(--fs-note); line-height: 1.7; }
.dlx-faq details { border-top: 1px solid var(--line); }
.dlx-faq .elementor-element:last-child details { border-bottom: 1px solid var(--line); }
.dlx-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: var(--tap-min); padding: 22px 0; list-style: none; cursor: pointer; }
.dlx-faq summary::-webkit-details-marker { display: none; }
.dlx-faq summary h3 { font-size: 18px; line-height: 1.35; font-weight: 700; letter-spacing: -.02em; }
.dlx-faq summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--control); border-radius: 50%; font-size: 20px; font-weight: 300; line-height: 1; transition: transform .2s; }
.dlx-faq details[open] summary::after { transform: rotate(45deg); }
.dlx-faq details > div { max-width: 660px; padding: 0 45px 22px 0; }
.dlx-faq details p { font-size: 15px; line-height: 1.75; color: var(--muted); }

/* Closing band */
.dlx-closing { position: relative; overflow: hidden; background: var(--ink); color: var(--on-ink); }
.dlx-closing::after { content: ""; position: absolute; right: -190px; top: -160px; width: 470px; height: 470px; border: 1px solid var(--ink-soft); border-radius: 50%; box-shadow: 0 0 0 80px rgba(143, 168, 255, .025), 0 0 0 160px rgba(143, 168, 255, .02); pointer-events: none; }
.dlx-closing > * { position: relative; z-index: 1; }
.dlx-closing-title { max-width: 840px; margin: 22px 0; font-size: clamp(46px, 6vw, 78px); line-height: 1.02; font-weight: 750; letter-spacing: -.05em; color: var(--on-ink); }
.dlx-closing .dlx-lead p { color: var(--on-ink-muted); }
.dlx-closing .dlx-actions { margin-top: 32px; }

@media (min-width: 460px) {
	.dlx-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 761px) {
	.dlx-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(30px, 4vw, 58px); }
	.dlx-strip ul { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 27px 0; }
	.dlx-services { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
	.dlx-feature { min-height: 560px; }
	.dlx-split { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 85px); }
	.dlx-split.is-even { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dlx-areas { min-height: 440px; }
	.dlx-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
	.dlx-step { min-height: 190px; }
	.dlx-outcome-head { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 5vw, 70px); }
	.dlx-outcomes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dlx-outcome { min-height: 290px; }
	.dlx-outcome-title { margin-top: 55px; }
	.dlx-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dlx-faq-grid { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(40px, 6vw, 80px); }
	.dlx-faq-aside { position: sticky; top: calc(var(--header-h) + 24px); align-self: start; }
}
@media (max-width: 459px) {
	.dlx-art { height: 420px; }
	.dlx-art-note { left: 18px; margin-right: 18px; max-width: 275px; }
	.dlx-journey { left: 18px; right: 18px; padding: 16px; }
	.dlx-journey ol { gap: 22px; }
	.dlx-journey li + li::before { left: -17px; }
	.dlx-art-top { left: 18px; right: 18px; }
	.dlx-art-pin { left: 61%; top: 33%; }
	.dlx-art-label { left: 66%; top: 28%; }
	.dlx-page .dlx-actions { --flex-direction: column; }
	.dlx-page .dlx-actions .dlx-btn .elementor-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.dlx-btn .elementor-button, .dlx-card { transition: none; }
	.dlx-btn .elementor-button:hover, .dlx-card:hover { transform: none; }
}
/* Elementor zeroes widget bottom margins with .e-con .elementor-widget.elementor-widget, so dlx- bottom margins need this weight. */
.dlx-page .elementor-widget.elementor-widget.dlx-crumbs { margin-bottom: clamp(32px, 4vw, 52px); }
.dlx-page .elementor-widget.elementor-widget.dlx-display { margin-bottom: 24px; }
.dlx-page .elementor-widget.elementor-widget.dlx-hero-desc { margin-bottom: 28px; }
.dlx-band .elementor-widget.elementor-widget.dlx-lead { margin-bottom: 54px; }
.dlx-page .elementor-widget.elementor-widget.dlx-step-title { margin-bottom: 10px; }
.dlx-page .elementor-widget.elementor-widget.dlx-outcome-title { margin-bottom: 14px; }
.dlx-page .elementor-widget.elementor-widget.dlx-closing-title { margin-bottom: 22px; }
@media (min-width: 460px) { .dlx-art-note { max-width: min(330px, 60%); } }
.dlx-page.dl-on-ink .elementor-widget-text-editor p { color: var(--on-ink-muted); }
@media (max-width: 459px) { .dlx-art { height: 460px; } .dlx-art-note { top: 100px; } }
@media (min-width: 761px) and (max-width: 899px) { .dlx-hero-grid { grid-template-columns: minmax(0, 1fr); } .dlx-art { max-width: 590px; } }
@media (min-width: 761px) and (max-width: 1020px) { .dlx-services { grid-template-columns: minmax(0, 1fr); } .dlx-feature { min-height: 380px; } }

/* dlx- in the homepage palette: navy, white and mist, with lime only as an accent (Sub, 11 October 2026). */
.dlx-display .dl-hl { white-space: nowrap; }
.dlx-eyebrow p { color: var(--ink-soft) !important; }
.dl-on-ink .dlx-eyebrow p { color: var(--signal) !important; }
.dlx-hero-note p::before, .dlx-strip svg, .dlx-icon svg { color: var(--ink); }
.dlx-art-kicker::before { background: var(--ink); }
.dlx-areas { border-color: var(--line); background: var(--paper); }
.dlx-areas::after { color: rgba(25, 25, 25, .045); }
.dlx-areas-label, .dlx-outcome-n p, .dlx-costs h3 { color: var(--ink-soft) !important; }
.dlx-areas li { border-color: var(--line); background: var(--mist); color: var(--ink); }
.dlx-costs li::before { color: var(--ink); }
.dlx-avatar { background: var(--ink); color: var(--signal); font: 500 var(--fs-note)/1 var(--font-mono); font-style: normal; }
.dlx-page .elementor-widget-text-editor.dlx-eyebrow p { max-width: none; font-size: var(--fs-label); line-height: 1.2; }
@media (max-width: 459px) { .dlx-art-pin { left: auto; right: 34px; top: 166px; } .dlx-art-label { display: none; } }

/* Team cards and profiles (dlt-), from Sub's brief of 11 October 2026. Cards come from [devlon_team]; profiles from templates/single-dlv3_team.html. */
.dlt-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(16px, 2vw, 24px); margin: 0; padding: 0; list-style: none; }
.dlt-grid > li { display: flex; min-width: 0; }
@media (min-width: 720px) { .dlt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dlt-grid.is-single { grid-template-columns: minmax(0, 560px); } }
.dlt-card { position: relative; display: flex; flex: 1; flex-direction: column; align-items: center; padding: clamp(32px, 4vw, 48px) clamp(24px, 3vw, 40px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); color: var(--ink); text-align: center; transition: border-color .18s ease-out, box-shadow .18s ease-out, transform .18s ease-out; }
.dlt-card:hover { border-color: var(--ink); box-shadow: 0 18px 40px rgba(25, 25, 25, .08); transform: translateY(-2px); }
.dlt-card:focus-within { border-color: var(--ink); }
.dlt-photo { display: grid; place-items: center; width: 128px; height: 128px; flex: none; margin-bottom: 24px; overflow: hidden; border-radius: 50%; background: var(--ink); }
.dlt-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dlt-photo.is-alt { border: 1px solid var(--control); background: var(--mist); }
.dlt-initials { font: 500 32px/1 var(--font-mono); letter-spacing: .02em; color: var(--signal); }
.dlt-photo.is-alt .dlt-initials { color: var(--ink); }
.dlt-placeholder-note { margin: -12px 0 20px; font: 500 var(--fs-label)/1.4 var(--font-mono); color: var(--muted); }
.dlt-name { font-size: var(--fs-h3); line-height: 1.2; font-weight: 650; letter-spacing: -.015em; }
.dlt-role { margin-top: 10px; font: 500 var(--fs-label)/1.4 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); }
.dlt-bio { max-width: 44ch; margin: 18px auto 28px; font-size: var(--fs-ui); line-height: 1.65; color: var(--muted); }
.dlt-more { margin-top: auto; font-size: var(--fs-ui); font-weight: 600; color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: var(--control); text-underline-offset: .22em; }
.dlt-more::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.dlt-card:hover .dlt-more { text-decoration-color: var(--ink); text-decoration-thickness: 2px; }
.dlt-arrow { display: inline-block; transition: transform .18s ease-out; }
.dlt-card:hover .dlt-arrow { transform: translateX(3px); }
@supports selector(:has(a)) {
	.dlt-more:focus-visible { outline: none; }
	.dlt-card:has(.dlt-more:focus-visible) { outline: 2px solid var(--focus); outline-offset: 3px; }
}
.dlt-section-foot { display: flex; justify-content: center; margin-top: clamp(28px, 3vw, 40px); }

.dlt-points { display: grid; gap: 24px 40px; }
@media (min-width: 760px) { .dlt-points { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.dlt-points > div { padding-top: 20px; border-top: 1px solid var(--line); }
.dlt-points h3 { margin-bottom: 8px; }
.dlt-more-about { margin-top: 40px; color: var(--ink-soft); }

/* Profile pages */
.dlt-hero { padding-block: clamp(32px, 4vw, 56px) var(--section-y); }
.dlt-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 clamp(32px, 4vw, 52px); padding: 0; list-style: none; font-size: var(--fs-label); letter-spacing: .03em; color: var(--muted); }
.dlt-crumbs li + li::before { content: "/"; margin-right: 6px; }
.dlt-crumbs a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.dlt-hero-grid { display: grid; gap: clamp(28px, 4vw, 64px); align-items: center; }
@media (min-width: 760px) { .dlt-hero-grid { grid-template-columns: auto minmax(0, 1fr); } }
.dlt-photo.is-large { width: clamp(160px, 20vw, 260px); height: clamp(160px, 20vw, 260px); margin: 0; }
.dlt-photo.is-large .dlt-initials { font-size: clamp(44px, 5vw, 68px); }
.dlt-hero .dlt-placeholder-note { margin: 0; }
.dlt-hero-copy .dlt-role { margin: 0; }
.dlt-title { margin-top: 14px; font-size: var(--fs-h1-page); line-height: 1; font-weight: 750; letter-spacing: -.035em; text-wrap: balance; }
.dlt-hero-role { margin-top: 12px; font-family: var(--font-accent); font-size: clamp(24px, 2.4vw, 32px); font-style: italic; line-height: 1.2; }
.dlt-lead { max-width: 58ch; margin: 22px 0 32px; font-size: var(--fs-lead); line-height: 1.5; color: var(--ink-soft); }
.dlt-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.dlt-cols { display: grid; gap: clamp(32px, 5vw, 72px); align-items: start; }
@media (min-width: 900px) { .dlt-cols { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } }
.dlt-prose { max-width: var(--measure); }
.dlt-prose > * + * { margin-top: 1em; }
.dlt-prose h2 { margin-bottom: 20px; }
.dlt-prose p { color: var(--ink-soft); }
.dlt-prose a { color: var(--ink); text-decoration: underline; text-underline-offset: .22em; }
.dlt-panel { padding: clamp(24px, 3vw, 36px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); }
.dlt-panel h2 { margin-bottom: 12px; }
.dlt-list { margin: 0; padding: 0; list-style: none; }
.dlt-list li { position: relative; padding: 14px 0 14px 26px; border-top: 1px solid var(--line); font-size: var(--fs-ui); line-height: 1.5; }
.dlt-list li::before { content: ""; position: absolute; left: 0; top: calc(14px + .75em); width: 12px; height: 2px; background: var(--ink); }
.dlt-related h2 { margin-bottom: 24px; }
.dlt-links { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 720px) { .dlt-links { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.dlt-links a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 16px 20px; border: 1px solid var(--line); border-radius: var(--radius-md); color: var(--ink); font-weight: 600; text-decoration: none; transition: border-color .18s ease-out; }
.dlt-links a:hover { border-color: var(--ink); }
.dlt-others-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; margin-bottom: 28px; }
.dlt-cta { background: var(--ink); color: var(--on-ink); }
.dlt-cta-text { max-width: 56ch; margin: 18px 0 32px; font-size: var(--fs-lead); line-height: 1.5; color: var(--on-ink-muted); }
@media (prefers-reduced-motion: reduce) {
	.dlt-card, .dlt-arrow, .dlt-links a { transition: none; }
	.dlt-card:hover, .dlt-card:hover .dlt-arrow { transform: none; }
}
.dlt-section-foot .dl-link { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .22em; }
.dl-builder .elementor-widget.elementor-widget:is(.dlt-lead, .dlt-cta-text) { margin-bottom: 32px; }
.dlt-hero .dlt-placeholder-note { margin-top: 12px; text-align: center; }
.dlt-hero-photo { width: fit-content; }

/* Mega menu (header3, 2026-10-12): described links, grouped columns and a featured audit panel. */
.dl-mega-label { display: block; margin: 12px 0 4px; font-family: var(--font-mono); font-size: var(--fs-label); font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.dl-mega ul { list-style: none; }
.dl-mega a strong { font-weight: 600; }
.dl-mega a > span { display: none; }
.dl-mega-col:first-child > .dl-mega-label:first-child { margin-top: 4px; }
.dl-mega a > .dl-mega-label { display: block; margin: 0; }
.dl-mega .dl-mega-feature { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; margin-top: 12px; }
.dl-mega .dl-mega-feature > span:not(.dl-mega-label) { display: none; }
.dl-nav-contact { display: flex; flex-direction: column; padding: 12px 0 0; }
.dl-nav-contact .dl-mega-label { margin: 0 0 2px; }
.dl-nav-contact a { color: var(--ink); font-weight: 600; text-decoration: none; min-height: var(--tap-min); display: flex; align-items: center; }

@media (min-width: 900px) {
	.dl-has-mega { position: static; }
	.dl-mega a > span { display: block; margin-top: 2px; font-size: var(--fs-note); line-height: 1.4; color: var(--muted); font-weight: 400; }
	.dl-submenu.dl-mega { padding: 20px; border-top: 2px solid var(--ink); }
	.dl-submenu.dl-mega::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 22px; }
	.dl-submenu.dl-mega.is-open { display: grid; }
	#dl-sub-seo.dl-mega { left: 50%; right: auto; transform: translateX(-50%); width: min(1000px, calc(100vw - 2 * var(--gutter))); grid-template-columns: 1fr 1fr minmax(0, .95fr); gap: 8px 24px; }
	.dl-mega-sm { min-width: 340px; top: calc(100% + (var(--header-h) - var(--tap-min)) / 2); }
	.dl-mega a { display: block; min-height: 0; padding: 12px; border-radius: var(--radius-sm); }
	.dl-mega a:hover { background: var(--mist); }
	.dl-mega a strong { display: block; font-size: var(--fs-ui); }
	.dl-mega-label { margin: 16px 12px 4px; }
	.dl-mega-col > .dl-mega-label:first-child { margin-top: 4px; }
	.dl-mega .dl-mega-feature { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 10px; margin: 0; padding: 28px; border-radius: var(--radius-md); background: var(--ink); color: var(--on-ink); }
	.dl-mega .dl-mega-feature:hover { background: var(--ink-raised); }
	.dl-mega .dl-mega-feature .dl-mega-label { margin: 0; color: var(--signal); }
	.dl-mega .dl-mega-feature strong { font-size: var(--fs-h3); line-height: 1.1; letter-spacing: -.02em; }
	.dl-mega .dl-mega-feature > span:not(.dl-mega-label) { display: block; color: var(--on-ink-muted); }
	.dl-mega .dl-mega-feature > span.dl-mega-more { margin-top: 6px; color: var(--signal); font-weight: 600; }
	.dl-nav-contact { display: none; }
}
@media (min-width: 900px) and (hover: hover) {
	.dl-nav-item:hover > .dl-submenu, .dl-nav-item:focus-within > .dl-submenu { display: grid; }
}
@media (min-width: 1180px) {
	.dl-nav-contact { display: flex; padding: 0 0 0 8px; text-align: right; align-items: flex-end; }
	.dl-nav-contact a { min-height: 0; font-size: var(--fs-note); }
}

/* Header fix 2026-10-12: one weight for every top-level link, email on one line level with the menu */
.dl-nav-seo > .dl-nav-row > a { font-weight: 550; }
@media (min-width: 1180px) {
	.dl-nav-contact { flex-direction: row; align-items: center; align-self: center; height: 24px; padding: 0 0 0 24px; border-left: 1px solid var(--line); }
	.dl-nav-contact .dl-mega-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.dl-nav-contact a { font-size: var(--fs-note); font-weight: 550; }
	.dl-nav-contact a:hover { text-decoration: underline; text-underline-offset: 3px; }
}


/* Homepage and inner pages v2 (dh-), published 15 October 2026. */
.dh{--dh-r:20px}
.dh section{position:relative}
.dh .dh-wrap{max-width:var(--content-max);margin-inline:auto;padding-inline:var(--gutter)}
.dh .dh-sec{padding-block:var(--section-y)}
.dh .dh-ink{background:var(--ink);color:var(--on-ink)}
.dh .dh-ink a{color:var(--on-ink)}
.dh .dh-mist{background:var(--mist)}
.dh h2{font-size:var(--fs-h2);line-height:1.06;font-weight:700;letter-spacing:-.03em;text-wrap:balance}
.dh h3{font-size:var(--fs-h3);line-height:1.2;font-weight:650;letter-spacing:-.015em}
.dh .dh-lead{font-size:var(--fs-lead);line-height:1.5;color:var(--ink-soft);max-width:60ch}
.dh .dh-ink .dh-lead{color:var(--on-ink-muted)}
.dh .dh-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px 48px;margin-bottom:clamp(36px,4vw,56px)}
.dh .dh-head>div{max-width:720px;display:flex;flex-direction:column;gap:16px}
.dh .dh-link{font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.25em;white-space:nowrap}
.dh .dh-link::after{content:" \2192"}
.dh .dh-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:var(--radius-sm);font-weight:650;font-size:var(--fs-ui);text-decoration:none;border:0;cursor:pointer;transition:transform .15s,background .15s}
.dh .dh-btn:hover{transform:translateY(-1px)}
.dh .dh-btn-signal{background:var(--signal);color:var(--ink)}
.dh .dh-btn-signal:hover{background:#6f8fff;color:var(--ink)}
.dh .dh-btn-ink{background:var(--ink);color:var(--on-ink)}
.dh .dh-btn-ink:hover{background:var(--ink-raised);color:var(--on-ink)}

/* Hero */
.dh-hero{background:var(--ink);color:var(--on-ink);overflow:hidden}
.dh-hero .dh-wrap{display:grid;gap:48px;padding-block:clamp(48px,6vw,96px) clamp(56px,6vw,88px)}
.dh-kicker{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;color:var(--signal);margin-bottom:22px}
.dh-hero h1{font-size:clamp(44px,5.4vw,86px);line-height:.98;font-weight:750;letter-spacing:-.04em;color:#fff;max-width:13ch}
.dh-hero h1 em{font-family:var(--font-accent);font-weight:400;font-style:italic;letter-spacing:-.01em;color:var(--signal)}
.dh-hero .dh-lead{margin-top:24px;color:#c7c7c7;max-width:46ch}
.dh-audit{margin-top:36px;max-width:560px}
.dh-audit label{display:block;font-size:var(--fs-note);font-weight:600;margin-bottom:10px;color:#fff}
.dh-audit .dh-row{display:flex;gap:8px;background:#fff;border-radius:var(--radius-md);padding:6px}
.dh-audit input{flex:1;min-width:0;border:0;background:transparent;padding:0 14px;font-size:var(--fs-ui);color:var(--ink);min-height:52px}
.dh-audit input:focus{outline:none}
.dh-audit .dh-row:focus-within{box-shadow:0 0 0 3px var(--signal)}
.dh-audit .dh-btn{flex:none}
.dh-audit p{margin-top:12px;font-size:var(--fs-note);color:var(--on-ink-muted)}
.dh-hero-links{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px 28px;font-size:var(--fs-note)}
.dh-hero-links a{color:#fff}
.dh-hero-fig{margin:0;align-self:center;justify-self:center;width:100%;max-width:520px}
.dh-hero-card{background:#fff;border-radius:24px;padding:10px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.dh-hero-card img{display:block;width:100%;height:auto;border-radius:16px}
.dh-hero-fig figcaption{margin-top:12px;font-size:13px;color:var(--on-ink-muted);text-align:center}
.dh-anim{animation:dhIn .9s cubic-bezier(.2,.7,.2,1) both}
.dh-anim .dh-hero-card{animation:dhFloat 7s ease-in-out 1s infinite}
@keyframes dhIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes dhFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.dh-where{border-top:1px solid rgba(255,255,255,.12)}
.dh-where .dh-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:14px 36px;padding-block:22px;font-size:var(--fs-note);color:var(--on-ink-muted)}
.dh-where ul{display:flex;flex-wrap:wrap;gap:10px 28px;list-style:none;margin:0;padding:0}
.dh-where li{color:#fff;font-weight:600}

/* Services bento */
.dh-bento{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.dh-card{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,2.6vw,36px);border-radius:var(--dh-r);background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
a.dh-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(25,25,25,.10);color:var(--ink)}
.dh-card p{color:var(--ink-soft);font-size:var(--fs-ui);line-height:1.6}
.dh-card .dh-more{margin-top:auto;padding-top:8px;font-weight:650;font-size:var(--fs-note)}
.dh-card .dh-more::after{content:" \2192"}
.dh-card-core{background:var(--ink);color:#fff;border:0}
.dh-card-core h3{font-size:var(--fs-h3-lg);color:#fff}
.dh-card-core p{color:#c7c7c7}
.dh-card-core ul{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.dh-card-core li{padding:12px 0;border-top:1px solid rgba(255,255,255,.14);font-size:var(--fs-note);font-weight:550}
.dh-card-core li a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:.25em}
.dh-card-core .dh-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:16px}
.dh-card-core .dh-actions a.dh-plain{color:#fff;font-weight:600;align-self:center;font-size:var(--fs-note)}
.dh-card-signal{background:var(--signal);border:0}
.dh-card-signal p{color:var(--ink)}
.dh-tag{align-self:flex-start;font-size:13px;font-weight:650;padding:4px 10px;border-radius:var(--radius-pill);background:var(--signal-tint);color:var(--signal-deep)}
.dh-card-core .dh-tag{background:var(--signal);color:var(--ink)}
.dh-card-signal .dh-tag{background:var(--ink);color:var(--signal)}
.dh-also{margin-top:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.dh-also a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-radius:14px;background:var(--mist);text-decoration:none;color:var(--ink)}
.dh-also a:hover{background:#ebebeb;color:var(--ink)}
.dh-also strong{font-size:var(--fs-ui)}
.dh-also span{font-size:var(--fs-note);color:var(--muted)}

/* Sectors */
.dh-sectors{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.dh-sector{display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-height:220px;padding:clamp(26px,3vw,40px);border-radius:var(--dh-r);text-decoration:none;color:var(--ink);background:#fff;transition:transform .2s}
.dh-sector:hover{transform:translateY(-3px);color:var(--ink)}
.dh-sector h3{font-size:clamp(30px,3vw,44px);line-height:1.02;letter-spacing:-.03em;font-weight:700}
.dh-sector p{font-size:var(--fs-ui);color:var(--ink-soft);max-width:36ch}
.dh-sector .dh-more{font-weight:650;font-size:var(--fs-note)}
.dh-sector .dh-more::after{content:" \2192"}
.dh-sector-a{background:var(--signal)}
.dh-sector-a p{color:var(--ink)}
.dh-sector-b{background:var(--ink);color:#fff}
.dh-sector-b:hover{color:#fff}
.dh-sector-b p{color:#c7c7c7}

/* AI search */
.dh-ai{display:grid;gap:40px;align-items:start}
.dh-ai ol{list-style:none;margin:0;padding:0;counter-reset:a}
.dh-ai li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;padding:22px 0;border-top:1px solid rgba(255,255,255,.14)}
.dh-ai li::before{counter-increment:a;content:counter(a,decimal-leading-zero);grid-row:span 2;font-family:var(--font-mono);font-size:var(--fs-note);color:var(--signal);padding-top:3px}
.dh-ai li strong{font-size:var(--fs-lead);font-weight:650;color:#fff}
.dh-ai li span{color:var(--on-ink-muted);font-size:var(--fs-ui)}

/* Process */
.dh-steps{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:minmax(0,1fr);counter-reset:s}
.dh-steps li{padding:28px;border-radius:var(--dh-r);background:var(--mist);display:flex;flex-direction:column;gap:10px}
.dh-steps li::before{counter-increment:s;content:counter(s);font-size:56px;line-height:1;font-weight:750;letter-spacing:-.04em;color:var(--ink)}
.dh-steps li:first-child{background:var(--signal)}
.dh-steps p{color:var(--ink-soft);font-size:var(--fs-ui)}
.dh-steps .dh-get{margin-top:auto;padding-top:14px;border-top:1px solid rgba(25,25,25,.14);font-size:var(--fs-note);color:var(--ink)}
.dh-promises{margin-top:40px;display:flex;flex-wrap:wrap;gap:12px}
.dh-promises li{list-style:none;padding:10px 16px;border:1px solid var(--line);border-radius:var(--radius-pill);font-size:var(--fs-note);font-weight:550}
.dh-promises{padding:0}

/* Proof placeholder */
.dh-ph{border:2px dashed #bdbdbd;border-radius:var(--dh-r);padding:clamp(24px,3vw,40px);display:grid;gap:16px;background:#fff}
.dh-ph strong{font-size:var(--fs-lead)}
.dh-ph p{color:var(--muted);font-size:var(--fs-ui)}
.dh-ph-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.dh-ph-grid div{border-radius:14px;background:var(--mist);padding:20px;font-size:var(--fs-note);color:var(--muted);min-height:120px}

/* Team */
.dh-team{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.dh-person{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;align-items:start;padding:clamp(24px,3vw,36px);border-radius:var(--dh-r);border:1px solid var(--line);background:#fff}
.dh-avatar{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:700;letter-spacing:-.02em;background:var(--ink);color:var(--signal)}
.dh-person:nth-child(2) .dh-avatar{background:var(--signal);color:var(--ink)}
.dh-person h3{font-size:var(--fs-h3)}
.dh-person .dh-role{font-size:var(--fs-note);color:var(--muted);margin-top:2px}
.dh-person p{margin-top:12px;font-size:var(--fs-ui);color:var(--ink-soft)}
.dh-person a{display:inline-block;margin-top:14px;font-weight:600;font-size:var(--fs-note)}

/* Guides */
.dh-guides{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.dh-guide{display:flex;flex-direction:column;gap:12px;padding:clamp(24px,3vw,36px);border-radius:var(--dh-r);background:#fff;text-decoration:none;color:var(--ink);transition:transform .2s}
.dh-guide:hover{transform:translateY(-3px);color:var(--ink)}
.dh-guide .dh-type{font-size:13px;font-weight:650;color:var(--signal-deep)}
.dh-guide h3{font-size:var(--fs-h3-lg);line-height:1.12;letter-spacing:-.025em}
.dh-guide p{color:var(--ink-soft);font-size:var(--fs-ui)}
.dh-guide .dh-more{margin-top:auto;font-weight:650;font-size:var(--fs-note)}
.dh-guide .dh-more::after{content:" \2192"}

/* FAQ */
.dh-faq{display:grid;gap:40px}
.dh-faq details{border-top:1px solid var(--line)}
.dh-faq details:last-child{border-bottom:1px solid var(--line)}
.dh-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:var(--fs-lead);font-weight:600;line-height:1.35}
.dh-faq summary::-webkit-details-marker{display:none}
.dh-faq summary::after{content:"+";font-weight:400;font-size:28px;line-height:1;flex:none;transition:transform .2s}
.dh-faq details[open] summary::after{transform:rotate(45deg)}
.dh-faq details p{padding:0 0 24px;color:var(--ink-soft);max-width:64ch}

/* Final CTA */
.dh-cta .dh-wrap{display:grid;gap:40px;align-items:center}
.dh .dh-cta{background:var(--signal);color:var(--ink)}
.dh-cta h2{font-size:clamp(40px,5vw,76px);line-height:.98;letter-spacing:-.04em;color:var(--ink)}
.dh .dh-cta .dh-lead{color:var(--ink-soft)}
.dh-cta .dh-audit{margin-top:0}
.dh-cta .dh-audit label{color:var(--ink)}
.dh-cta .dh-audit .dh-row:focus-within{box-shadow:0 0 0 3px var(--ink)}
.dh .dh-cta .dh-btn-signal{background:var(--ink);color:#fff}
.dh-cta .dh-note{margin-top:20px;font-size:var(--fs-note);color:var(--ink-soft)}
.dh-cta .dh-note a{color:var(--ink)}

@media (min-width:700px){
 .dh-also{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dh-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dh-team{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dh-guides{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dh-ph-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .dh-sectors{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dh-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dh-card-core{grid-column:1/-1}
}
@media (min-width:1000px){
 .dh-hero .dh-wrap{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center}
 .dh-bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(250px,auto)}
 .dh-card-core{grid-column:span 2;grid-row:span 2}
 .dh-sectors{grid-template-columns:repeat(3,minmax(0,1fr))}
 .dh-sector{min-height:300px}
 .dh-ai{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:80px}
 .dh-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
 .dh-faq{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:80px}
 .dh-cta .dh-wrap{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:80px}
}
@media (max-width:520px){
 .dh-audit .dh-row{flex-direction:column}
 .dh-audit input{min-height:48px}
 .dh-card-core ul{grid-template-columns:minmax(0,1fr)}
 .dh-person{grid-template-columns:minmax(0,1fr)}
 .dh-avatar{width:72px;height:72px;font-size:24px}
}
@media (prefers-reduced-motion:reduce){.dh *{animation:none!important;transition:none!important}}
/* Inner pages v2: same components as the homepage, plus page hero, panels, lists and related links. */
.dh-phero{background:var(--ink);color:var(--on-ink)}
.dh-phero .dh-wrap{display:grid;gap:40px;padding-block:clamp(36px,4.5vw,64px) clamp(56px,6vw,88px);align-items:center}
.dh-crumbs ol{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:var(--fs-note);color:var(--on-ink-muted)}
.dh-crumbs li+li::before{content:"/";margin-right:6px;color:rgba(255,255,255,.35)}
.dh-crumbs a{color:#fff}
.dh-phero h1{font-size:clamp(40px,4.6vw,72px);line-height:1;font-weight:750;letter-spacing:-.035em;color:#fff;text-wrap:balance;max-width:16ch}
.dh-phero .dh-lead{margin-top:22px;color:#c7c7c7;max-width:52ch}
.dh-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.dh .dh-btn-ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.dh .dh-ink .dh-btn-ghost,.dh-phero .dh-btn-ghost{color:#fff}
.dh-panel{background:#fff;color:var(--ink);border-radius:var(--dh-r);padding:clamp(24px,2.6vw,34px);box-shadow:0 30px 80px rgba(0,0,0,.28)}
.dh-panel strong{display:block;font-size:var(--fs-lead);font-weight:650;margin-bottom:8px}
.dh-panel ul{list-style:none;margin:0;padding:0}
.dh-panel li{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--line);font-size:var(--fs-ui);line-height:1.5}
.dh-panel li::before{content:"";flex:none;width:10px;height:10px;margin-top:8px;border-radius:2px;background:var(--signal-deep)}
.dh-panel a{font-weight:600}

.dh-cards{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.dh-cards .dh-card h3{font-size:var(--fs-h3)}
.dh-cards .dh-card a{font-weight:600}
.dh-mist .dh-card{border-color:transparent}

.dh-list{list-style:none;margin:0;padding:0;counter-reset:l}
.dh-list li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;padding:22px 0;border-top:1px solid var(--line)}
.dh-list li:last-child{border-bottom:1px solid var(--line)}
.dh-list li::before{counter-increment:l;content:counter(l,decimal-leading-zero);grid-row:span 2;font-family:var(--font-mono);font-size:var(--fs-note);color:var(--signal-deep);padding-top:3px}
.dh-list strong{font-size:var(--fs-lead);font-weight:650}
.dh-list span{color:var(--ink-soft);font-size:var(--fs-ui)}
.dh-ink .dh-list li{border-color:rgba(255,255,255,.14)}
.dh-ink .dh-list li::before{color:var(--signal)}
.dh-ink .dh-list strong{color:#fff}
.dh-ink .dh-list span{color:var(--on-ink-muted)}
.dh-split{display:grid;gap:40px;align-items:start}
.dh-split>div:first-child{display:flex;flex-direction:column;gap:20px}
.dh-split .dh-lead a{color:inherit}

.dh-related{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.dh-related a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-radius:14px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .2s}
.dh-related a:hover{transform:translateY(-2px);color:var(--ink)}
.dh-mist .dh-related a{border-color:transparent}
.dh-related strong{display:block;font-size:var(--fs-ui)}
.dh-related small{display:block;font-size:var(--fs-note);color:var(--muted);margin-top:2px}
.dh-related a::after{content:"\2192";flex:none}

.dh-cta .dh-actions{margin-top:0}
.dh .dh-cta .dh-btn-ghost{color:var(--ink)}

.dh-formwrap{background:#fff;border-radius:var(--dh-r);padding:clamp(24px,3vw,40px);border:1px solid var(--line)}
.dh-contact{display:grid;gap:40px;align-items:start}
.dh-contact .dh-steps{grid-template-columns:minmax(0,1fr)}
.dh-contact .dh-steps li{padding:22px}
.dh-contact .dh-steps li::before{font-size:36px}

@media (min-width:700px){
 .dh-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dh-related{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1000px){
 .dh-phero .dh-wrap{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:72px}
 .dh-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
 .dh-split{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:80px}
 .dh-related{grid-template-columns:repeat(3,minmax(0,1fr))}
 .dh-contact{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px}
}

.dh-mist .dh-steps li{background:#fff}
.dh-mist .dh-steps li:first-child{background:var(--signal)}
.dh-cta .dh-dual{display:flex;flex-wrap:wrap;gap:12px}
.e-con.dh-contact-sec{display:grid!important;gap:40px;width:100%;max-width:var(--content-max);margin-inline:auto;padding:var(--section-y) var(--gutter)!important;align-items:start}
.dh-contact-sec .dh-steps{grid-template-columns:minmax(0,1fr)!important}
.dh-contact-sec .dh-steps li{padding:22px}
.dh-contact-sec .dh-steps li::before{font-size:36px}
.dh-contact-sec .elementor-widget-shortcode{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(24px,3vw,40px)}
@media (min-width:1000px){.e-con.dh-contact-sec{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px}}
.dh-faq summary{overflow:hidden}

/* Inner pages v2: bring the dlx- service pages in line with the homepage. Ink hero, no serif accent, no eyebrows below the hero, lime closing band. */
.dlx-hero{background:var(--ink);color:var(--on-ink)}
.dlx-hero .dlx-crumbs p{color:var(--on-ink-muted)}
.dlx-hero .dlx-crumbs a{color:#fff}
.dlx-hero .elementor-heading-title,.dlx-hero .dlx-display{color:#fff}
.dlx-hero .dlx-hero-desc p{color:#c7c7c7}
.dlx-hero .dlx-hero-note p{color:var(--on-ink-muted)}
.dlx-hero .dlx-hero-note p::before{color:var(--signal)}
.dlx-hero .dlx-eyebrow{display:none}
.dlx-display{font-size:clamp(40px,4.6vw,72px);letter-spacing:-.035em}
.dlx-hero .dl-accent,.dlx-hero .dlx-display em{color:var(--signal)}
.dlx-display .dl-hl::after{display:none}
.dlx-hero .dlx-btn-dark .elementor-button{background:var(--signal);color:var(--ink)}
.dlx-hero .dlx-btn-dark .elementor-button:hover{background:var(--signal-tint);color:var(--ink)}
.dlx-hero .dlx-btn-dark .elementor-button-content-wrapper::after{color:var(--ink)}
.dlx-hero .dlx-btn-outline .elementor-button{border-color:rgba(255,255,255,.7);color:#fff}
.dlx-hero .dlx-btn-outline .elementor-button:hover{border-color:#fff;background:rgba(255,255,255,.06);color:#fff}
.dlx-hero .dlx-costs,.dlx-hero .dlx-hero-grid>.e-con:last-child:not(.dlx-hero-copy){background:#fff;color:var(--ink);border-color:transparent;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.dlx-page:not(.dlx-hero) .dlx-eyebrow,.dl-on-ink .dlx-eyebrow{display:none}
.dlx-page .dlx-heading .dlx-h2,.dlx-page .dlx-split-copy .dlx-h2,.dlx-band .dlx-h2{margin-top:0}
.dlx-icon{display:none}
.dlx-card-title{margin-top:0}
.dlx-card,.dlx-feature,.dlt-card{border-radius:20px}
.dlx-feature::after,.dlx-closing::after{display:none}
.dlx-closing{background:var(--signal);color:var(--ink)}
.dlx-closing .dlx-closing-title,.dlx-closing .elementor-heading-title{color:var(--ink)}
.dlx-closing .dlx-lead p,.dlx-closing p{color:var(--ink-soft)}
.dlx-closing a:not(.elementor-button){color:var(--ink)}
.dlx-closing .dlx-btn-light .elementor-button{background:var(--ink);color:#fff}
.dlx-closing .dlx-btn-light .elementor-button:hover{background:var(--ink-soft);color:#fff}
.dlx-closing .dlx-btn-light .elementor-button-content-wrapper::after{color:var(--signal)}
.dlx-closing .dlx-btn-outline .elementor-button{border-color:var(--ink);color:var(--ink)}
.dlx-closing .dlx-btn-outline .elementor-button:hover{background:rgba(25,25,25,.06);color:var(--ink)}
.dlx-closing .dlx-lead p{color:var(--ink-soft)!important}
.dlx-costs h3{font-family:var(--font-display);font-size:var(--fs-lead);font-weight:650;letter-spacing:-.01em;text-transform:none;color:var(--ink)}
.dlx-step-n p{font:700 36px/1 var(--font-display);font-style:normal;letter-spacing:-.03em}
.dlx-areas::after{display:none}
.dlx-page .dlt-placeholder-note,.dlx-areas-label{display:none}

/* Team headshots in dh- cards (Rasel, 15 October 2026). */
.dh-avatar.dh-avatar-img{background:var(--mist);overflow:hidden}
.dh-avatar-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
/* SEO Manchester v3 (2026-10-18) */
/* SEO Manchester landing page (October 2026). */
.dh-sub{margin-top:18px;font-size:clamp(19px,1.5vw,22px);line-height:1.4;font-weight:600;color:var(--signal);max-width:46ch}
.dh-phero .dh-lead+.dh-lead{margin-top:14px}
.dh-trust{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:var(--fs-note);color:var(--on-ink-muted)}
.dh-trust li{display:flex;align-items:center;gap:10px}
.dh-trust li::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--signal);flex:none}
.dh-leadby .dh-who{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.dh-leadby .dh-who img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 22%;flex:none;background:var(--mist)}
.dh-leadby .dh-who strong{margin:0}
.dh-leadby .dh-who small{display:block;color:var(--muted);font-size:var(--fs-note);margin-top:2px}
.dh-leadby p{font-size:var(--fs-ui);line-height:1.6;color:var(--ink-soft)}
.dh-leadby .dh-link{display:inline-block;margin-top:16px;font-size:var(--fs-note);white-space:normal}
.dh-head>div>p:not(.dh-lead){color:var(--ink-soft);font-size:var(--fs-ui);line-height:1.6;max-width:64ch}
.dh-ink .dh-head>div>p:not(.dh-lead){color:var(--on-ink-muted)}
.dh-disclose{padding:16px 20px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--line);font-size:var(--fs-note);line-height:1.55;color:var(--ink-soft);max-width:72ch}
.dh-rcards{display:grid;gap:16px}
.dh-rcard{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,2.6vw,34px);border-radius:var(--dh-r);background:#fff;min-width:0}
.dh-rcard:first-child{background:var(--ink);color:#fff}
.dh-rcard .dh-big{display:block;margin-bottom:12px;font-size:clamp(46px,4.6vw,68px);line-height:.95;font-weight:750;letter-spacing:-.045em;color:var(--signal-deep)}
.dh-rcard:first-child .dh-big{color:var(--signal)}
.dh-rcard h3{font-size:var(--fs-lead);line-height:1.3;font-weight:650}
.dh-rcard .dh-client{font-size:var(--fs-note);font-weight:650;color:var(--muted)}
.dh-rcard:first-child .dh-client{color:var(--on-ink-muted)}
.dh-rcard p{font-size:var(--fs-ui);line-height:1.6;color:var(--ink-soft)}
.dh-rcard:first-child p{color:#c7c7c7}
.dh-rcard h4{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--muted)}
.dh-rcard:first-child h4{border-color:rgba(255,255,255,.16);color:var(--on-ink-muted)}
.dh-rcard ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dh-rcard li{font-size:var(--fs-note);line-height:1.45;padding-left:18px;position:relative}
.dh-rcard li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:2px;background:var(--signal-deep)}
.dh-rcard:first-child li::before{background:var(--signal)}
.dh-below{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:32px}
.dh-srcnote{font-size:var(--fs-note);line-height:1.55;color:var(--muted);max-width:80ch}
.dh-below .dh-srcnote{flex:1 1 380px}
.dh-qgrid{display:grid;gap:16px}
.dh-q{padding:clamp(24px,2.6vw,34px);border-radius:var(--dh-r);border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:12px}
.dh-q h3{font-size:var(--fs-h3);line-height:1.2}
.dh-q p{font-size:var(--fs-ui);line-height:1.6;color:var(--ink-soft)}
.dh-after{margin-top:36px;font-size:var(--fs-lead);line-height:1.4;font-weight:650;max-width:52ch}
.dh-expert{display:grid;gap:40px}
.dh-expert-fig{margin:0;align-self:start}
.dh-expert-fig img{display:block;width:100%;max-width:440px;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--dh-r);background:var(--ink-raised)}
.dh-expert-fig figcaption{margin-top:18px}
.dh-expert-fig figcaption strong{display:block;font-size:var(--fs-h3);font-weight:700;letter-spacing:-.02em}
.dh-expert-fig figcaption span{display:block;margin-top:2px;color:var(--on-ink-muted);font-size:var(--fs-note)}
.dh-facts{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.dh-facts li{font-size:13px;font-weight:650;padding:6px 12px;border-radius:var(--radius-pill);background:var(--signal);color:var(--ink)}
.dh-prose{display:flex;flex-direction:column;gap:18px;min-width:0}
.dh-prose>p{font-size:var(--fs-ui);line-height:1.65;max-width:64ch;color:var(--ink-soft)}
.dh-ink .dh-prose>p{color:#c7c7c7}
.dh-prose .dh-subhead{font-size:var(--fs-lead);line-height:1.35;font-weight:650;color:var(--ink)}
.dh-ink .dh-prose .dh-subhead{color:var(--signal)}
.dh-ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dh-ticks li{position:relative;padding-left:22px;font-size:var(--fs-ui);line-height:1.5}
.dh-ticks li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:10px;border-radius:2px;background:var(--signal-deep)}
.dh-ink .dh-ticks li::before{background:var(--signal)}
.dh-ink .dh-ticks li{color:#fff}
.dh-prose .dh-ticks{padding:22px 0;border-block:1px solid var(--line)}
.dh-ink .dh-prose .dh-ticks{border-color:rgba(255,255,255,.14)}
.dh-ink .dh-link{color:#fff}
.dh-rows{list-style:none;margin:0;padding:0}
.dh-rows>li{display:grid;gap:14px 48px;padding:clamp(28px,3.2vw,44px) 0;border-top:1px solid var(--line)}
.dh-rows>li:last-child{border-bottom:1px solid var(--line)}
.dh-rows h3{font-size:clamp(24px,2vw,30px);line-height:1.15;letter-spacing:-.025em;font-weight:700}
.dh-rows .dh-tagline{margin-top:10px;font-size:var(--fs-ui);font-weight:650;color:var(--signal-deep);max-width:30ch}
.dh-rows .dh-num{display:block;font-family:var(--font-mono);font-size:var(--fs-note);color:var(--signal-deep);margin-bottom:10px}
.dh-rows .dh-body{display:flex;flex-direction:column;gap:14px;min-width:0}
.dh-rows .dh-body>p{font-size:var(--fs-ui);line-height:1.65;color:var(--ink-soft);max-width:66ch}
.dh-rows .dh-body .dh-ticks{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 24px;margin-block:4px}
.dh-rows .dh-more{align-self:flex-start;margin-top:4px}
.dh-table-wrap{overflow-x:auto;border-radius:var(--dh-r);border:1px solid var(--line);background:#fff}
.dh-table{width:100%;border-collapse:collapse;font-size:var(--fs-ui);line-height:1.5}
.dh-table th{text-align:left;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--muted);padding:16px 20px;background:var(--mist);border-bottom:1px solid var(--line)}
.dh-table td{padding:18px 20px;border-top:1px solid var(--line);vertical-align:top;color:var(--ink-soft)}
.dh-table tr:first-child td{border-top:0}
.dh-table td:first-child{font-weight:650;color:var(--ink)}
.dh-sub2{margin-top:48px;display:flex;flex-direction:column;gap:12px;margin-bottom:24px}
.dh-sub2 h3{font-size:var(--fs-h3-lg);line-height:1.08;letter-spacing:-.025em;font-weight:700}
.dh-sub2 p{font-size:var(--fs-ui);line-height:1.6;color:var(--ink-soft);max-width:64ch}
.dh-fine{margin-top:16px;font-size:var(--fs-note);line-height:1.55;color:var(--muted);max-width:80ch}
.dh-actions-l{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.dh-twocol{display:grid;gap:32px 72px}
.dh-twocol .dh-prose h2{margin-bottom:6px}
.dh-factors{background:#fff;border-radius:var(--dh-r);padding:clamp(24px,2.8vw,40px);display:flex;flex-direction:column;gap:18px;border:1px solid var(--line)}
.dh-factors strong{font-size:var(--fs-lead);font-weight:650}
.dh-factors p{font-size:var(--fs-ui);line-height:1.6;color:var(--ink-soft)}
.dh-cta .dh-lead+.dh-lead{margin-top:14px}
.dh-cta .dh-punch{margin-top:20px;font-size:var(--fs-lead);line-height:1.4;font-weight:650;color:var(--ink);max-width:40ch}
.dh-cta .dh-note+.dh-note{margin-top:8px}
@media (min-width:760px){
 .dh-qgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dh-rows>li{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
}
@media (min-width:960px){
 .dh-expert{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px}
 .dh-expert-fig{position:sticky;top:calc(var(--header-h) + 32px)}
 .dh-rcards{grid-template-columns:repeat(3,minmax(0,1fr))}
 .dh-twocol{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start}
}
@media (max-width:640px){
 .dh-table thead{display:none}
 .dh-table,.dh-table tbody,.dh-table tr,.dh-table td{display:block;width:100%}
 .dh-table tr{padding:16px 18px;border-top:1px solid var(--line)}
 .dh-table tr:first-child{border-top:0}
 .dh-table td{padding:4px 0;border:0}
 .dh-table td[data-l]::before{content:attr(data-l);display:block;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--muted);margin-top:8px}
 .dh-table td:first-child::before{margin-top:0}
}
/* Services menu, two columns (2026-10-18) */
@media (min-width: 900px) { #dl-sub-seo.dl-mega { width: min(780px, calc(100vw - 2 * var(--gutter))); grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } }


/* DevLon logo and palette (2026-10-18) */
.dl-logo { display: inline-flex; align-items: center; }
.dl-logo img { display: block; width: auto; height: 28px; }
.dl-footer .dl-logo img { height: 34px; }
@media (min-width: 900px) { .dl-logo img { height: 32px; } }


/* Accent palette: blue accent, pink only in the logo (2026-10-18) */
:root { --accent: #3460f0; --accent-hover: #2449d6; }
html body .dh .dh-btn-signal, html body .dh-ink .dh-btn-signal, html body .dh-hero .dh-btn-signal, html body .dh-phero .dh-btn-signal, html body .dh-cta .dh-btn-signal, html body .dh .dh-audit .dh-btn-signal, html body .dl-btn-primary, html body .dl-on-ink .dl-btn-primary, html body .dl-b-primary .elementor-button, html body .dl-on-ink .dl-b-primary .elementor-button, html body .dlx-hero .dlx-btn-dark .elementor-button, html body .dlx-closing .dlx-btn-light .elementor-button { background: var(--accent); color: #fff; }
html body .dh .dh-btn-signal:hover, html body .dh-ink .dh-btn-signal:hover, html body .dh-hero .dh-btn-signal:hover, html body .dh-phero .dh-btn-signal:hover, html body .dh-cta .dh-btn-signal:hover, html body .dh .dh-audit .dh-btn-signal:hover, html body .dl-btn-primary:hover, html body .dl-on-ink .dl-btn-primary:hover, html body .dl-b-primary .elementor-button:hover, html body .dl-on-ink .dl-b-primary .elementor-button:hover, html body .dlx-hero .dlx-btn-dark .elementor-button:hover, html body .dlx-closing .dlx-btn-light .elementor-button:hover { background: var(--accent-hover); color: #fff; }
html body .dl-btn-primary .dl-btn-arrow { color: #fff; }
html body .dh .dh-cta { background: var(--paper); color: #fff; padding-block: clamp(32px, 4vw, 64px); }
html body .dh-cta .dh-wrap { position: relative; isolation: isolate; padding: clamp(36px, 5vw, 72px) calc(var(--gutter) + clamp(24px, 3.5vw, 56px)); }
html body .dh-cta .dh-wrap::before { content: ""; position: absolute; inset: 0 var(--gutter); z-index: -1; border-radius: 24px; background: var(--ink); }
html body .dh-cta h2, html body .dh-cta .dh-punch, html body .dh-cta .dh-audit label, html body .dh-cta .dh-note a, html body .dh-cta a:not(.dh-btn) { color: #fff; }
html body .dh .dh-cta .dh-lead, html body .dh-cta .dh-note { color: var(--on-ink-muted) !important; }
html body .dh-cta .dh-audit .dh-row:focus-within { box-shadow: 0 0 0 3px var(--signal); }
html body .dh .dh-cta .dh-btn-ghost { color: #fff; }
@media (min-width: 1000px) { html body .dh-cta .dh-wrap { gap: 56px; } }
html body .dlx-closing { background: var(--ink); color: var(--on-ink); }
html body .dlx-closing .dlx-closing-title, html body .dlx-closing .elementor-heading-title, html body .dlx-closing a:not(.elementor-button) { color: #fff; }
html body .dlx-closing p, html body .dlx-closing .dlx-lead p { color: var(--on-ink-muted) !important; }
html body .dlx-closing .dlx-btn-outline .elementor-button { border-color: rgba(255,255,255,.7); color: #fff; }
html body .dl-footer { border-top: 1px solid rgba(255,255,255,.08); }
html body .dh-steps li:first-child { background: var(--signal-tint); }
html body .dh-steps li:first-child p, html body .dh-steps li:first-child .dh-get { color: var(--ink-soft) !important; }
html body .dh-sector-a { background: var(--signal-tint); }
html body .dh-sector-a p { color: var(--ink-soft) !important; }
html body .dh-card-signal { background: var(--signal-tint); }
html body .dh-card-signal p { color: var(--ink-soft) !important; }
html body .dl-tag, html body .dh-card-core .dh-tag, html body .dl-v-words span, html body .dh-tag { background: var(--signal-tint); color: var(--signal-deep); }
html body .dh-card-signal .dh-tag { background: var(--signal-deep); color: #fff; }
html body .dh .dh-btn-ink { background: var(--accent); color: #fff; }
html body .dh .dh-btn-ink:hover { background: var(--accent-hover); color: #fff; }
html body .dh-svc-foot i { background: var(--signal-tint); color: var(--signal-deep); }
html body .dh-svc-card:hover .dh-svc-foot i { background: var(--accent); color: #fff; }

/* SEO Manchester hero layout fix (2026-10-18) */
html body.page-id-169 .dh-phero .dh-wrap { padding-block: clamp(32px, 4vw, 56px) clamp(48px, 5vw, 80px); align-items: start; }
html body.page-id-169 .dh-phero h1 { font-size: clamp(38px, 4vw, 58px); line-height: 1.02; max-width: 19ch; }
html body.page-id-169 .dh-phero .dh-sub { margin-top: 22px; font-size: clamp(18px, 1.35vw, 20px); line-height: 1.45; color: #fff; max-width: 46ch; }
html body.page-id-169 .dh .dh-phero .dh-lead { margin-top: 18px; font-size: clamp(16px, 1.15vw, 17px); line-height: 1.65; color: var(--on-ink-muted); max-width: 58ch; }
html body.page-id-169 .dh .dh-phero .dh-lead + .dh-lead { margin-top: 12px; }
html body.page-id-169 .dh-phero .dh-actions { margin-top: 28px; }
html body.page-id-169 .dh-phero .dh-trust { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); }
html body.page-id-169 .dh-phero .dh-leadby { box-shadow: none; }
@media (min-width: 1000px) {
  html body.page-id-169 .dh-phero .dh-wrap { grid-template-columns: minmax(0, 1fr) minmax(320px, 400px); gap: clamp(48px, 5vw, 80px); }
  html body.page-id-169 .dh-phero .dh-leadby { margin-top: 52px; position: sticky; top: calc(var(--header-h, 80px) + 24px); }
}
@media (max-width: 999px) {
  html body.page-id-169 .dh-phero .dh-wrap { gap: 32px; }
  html body.page-id-169 .dh-phero .dh-actions .dh-btn { flex: 1 1 220px; justify-content: center; text-align: center; }
}

/* SEO Manchester hero image (2026-10-18) */
html body.page-id-169 .dh-phero .dh-mcr-side { display: flex; flex-direction: column; min-width: 0; }
html body.page-id-169 .dh-phero .dh-mcr-fig { margin: 0; border-radius: 20px; overflow: hidden; border: 1px solid rgba(255,255,255,.08); background: #111; aspect-ratio: 800 / 880; }
html body.page-id-169 .dh-phero .dh-mcr-fig img { display: block; width: 100%; height: 100%; object-fit: cover; }
html body.page-id-169 .dh-phero .dh-mcr-side .dh-leadby { position: relative; z-index: 1; margin: -72px 20px 0; position: relative; top: auto; }
@media (min-width: 1000px) {
  html body.page-id-169 .dh-phero .dh-wrap { grid-template-columns: minmax(0, 1fr) minmax(360px, 460px); }
  html body.page-id-169 .dh-phero .dh-mcr-side { margin-top: 8px; }
  html body.page-id-169 .dh-phero .dh-mcr-side .dh-leadby { margin-top: -72px; position: relative; top: auto; }
}
@media (max-width: 999px) {
  html body.page-id-169 .dh-phero .dh-mcr-side { max-width: 520px; width: 100%; margin-inline: auto; }
  html body.page-id-169 .dh-phero .dh-mcr-side .dh-leadby { margin: -56px 12px 0; }
}
