/* ==========================================================================
   DZ theme — design system
   ========================================================================== */
:root,
.editor-styles-wrapper {
  --dz-bg: #ffffff;
  --dz-surface: #fafafa;
  --dz-surface-2: #f0f0f0;
  --dz-line: #e5e5e5;
  --dz-line-strong: #c9c9c9;
  --dz-fg: #0d0d0d;
  --dz-muted: #4a4a4a;
  --dz-accent: #ffc457;
  --dz-accent-ink: #8f5f00;
  --dz-glow: rgba(255, 196, 87, .28);
  --dz-header-bg: rgba(255, 255, 255, .94);
  --dz-grid-line: rgba(13, 13, 13, .06);
  --dz-shadow: 0 24px 60px -24px rgba(13, 13, 13, .25);
  --dz-radius: 20px;
  --dz-header-h: 72px;
  --dz-gutter: clamp(1.25rem, 1rem + 1.2vw, 2rem);
  color-scheme: light;
}
:root[data-theme="dark"] {
  --dz-bg: #0d0d0d;
  --dz-surface: #151515;
  --dz-surface-2: #1e1e1e;
  --dz-line: #2a2a2a;
  --dz-line-strong: #404040;
  --dz-fg: #fafafa;
  --dz-muted: #a6a6a6;
  --dz-accent: #ffc457;
  --dz-accent-ink: #ffc457;
  --dz-glow: rgba(255, 196, 87, .16);
  --dz-header-bg: rgba(13, 13, 13, .94);
  --dz-grid-line: rgba(255, 255, 255, .055);
  --dz-shadow: 0 24px 60px -24px rgba(0, 0, 0, .8);
  color-scheme: dark;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--dz-header-h) + 16px); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; transition: background-color .3s, color .3s; }
::selection { background: var(--dz-accent); color: #0d0d0d; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--dz-accent-ink); outline-offset: 3px; border-radius: 6px; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
main { margin-block-start: 0 !important; }

/* ---------- Layout helpers ---------- */
.dz-section { padding: clamp(4rem, 2.5rem + 6vw, 8rem) var(--dz-gutter); position: relative; }
.dz-section--tight { padding-block: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); }
.dz-section--alt { background: var(--dz-surface); border-block: 1px solid var(--dz-line); }
.dz-section.is-layout-constrained > *, .dz-section > * { max-width: 1240px; }
.dz-center { text-align: center; }
.dz-center > * { margin-inline: auto; }
.dz-measure { max-width: 62ch; }
.dz-lead { font-size: var(--wp--preset--font-size--lg); line-height: 1.6; color: var(--dz-muted); max-width: 62ch; }
.dz-muted { color: var(--dz-muted); }
.dz-mono { font-family: var(--wp--preset--font-family--mono); }
.dz-section-head { margin-bottom: clamp(2rem, 1rem + 3vw, 3.5rem); display: grid; gap: 1rem; }
.dz-section-head h2 { max-width: 20ch; }
.dz-section-head p { color: var(--dz-muted); font-size: var(--wp--preset--font-size--lg); max-width: 56ch; margin: 0; }
.dz-center.dz-section-head h2, .dz-center.dz-section-head p { margin-inline: auto; }

/* eyebrow */
.dz-eyebrow {
  display: inline-flex; align-items: center; gap: .6rem; margin: 0;
  font-family: var(--wp--preset--font-family--mono); font-size: .75rem; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase; color: var(--dz-muted);
  padding: .4rem .85rem; border: 1px solid var(--dz-line); border-radius: 999px; background: var(--dz-surface);
  width: fit-content;
}
.dz-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--dz-accent); box-shadow: 0 0 0 4px var(--dz-glow); animation: dz-pulse 2.4s ease-in-out infinite; }
@keyframes dz-pulse { 50% { box-shadow: 0 0 0 7px transparent; } }

/* gradient text */
.dz-grad { background: linear-gradient(110deg, var(--dz-fg) 15%, var(--dz-accent-ink) 115%); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: transform .2s, box-shadow .2s, background-color .2s, border-color .2s; border: 1px solid var(--dz-fg); }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 10px 30px -10px var(--dz-glow), 0 0 0 4px var(--dz-glow); text-decoration: none; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--dz-fg); border: 1px solid var(--dz-line-strong); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: var(--dz-fg); background: var(--dz-surface); color: var(--dz-fg); }
.wp-block-buttons { gap: .75rem; }
.dz-link-arrow a, a.dz-link-arrow { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; text-decoration: none; }
.dz-link-arrow a::after { content: ""; width: 1.1em; height: 1.1em; background: currentColor; -webkit-mask: var(--ico-arrow) center/contain no-repeat; mask: var(--ico-arrow) center/contain no-repeat; transition: transform .2s; }
.dz-link-arrow a:hover::after { transform: translateX(4px); }
.dz-link-arrow a:hover { text-decoration: none; }

/* ---------- Icons ---------- */
.dz-ico { width: 52px; height: 52px; border-radius: 14px; border: 1px solid var(--dz-line); background: var(--dz-surface-2); display: grid; place-items: center; color: var(--dz-fg); flex: none; transition: color .25s, border-color .25s, background .25s, box-shadow .25s; }
.dz-ico::before { content: ""; width: 24px; height: 24px; background: currentColor; -webkit-mask: var(--ico) center/contain no-repeat; mask: var(--ico) center/contain no-repeat; }
.dz-ico--sm { width: 40px; height: 40px; border-radius: 11px; }
.dz-ico--sm::before { width: 20px; height: 20px; }
.dz-ico--lg { width: 64px; height: 64px; border-radius: 18px; }
.dz-ico--lg::before { width: 30px; height: 30px; }
.dz-card:hover .dz-ico, .dz-mega__link:hover .dz-ico, .dz-svc:hover .dz-ico { color: var(--dz-bg); background: var(--dz-fg); border-color: var(--dz-fg); box-shadow: 0 0 0 5px var(--dz-glow); }

/* ---------- Cards ---------- */
.dz-grid { display: grid; gap: clamp(1rem, .6rem + 1vw, 1.5rem); }
.dz-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dz-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dz-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dz-grid.is-layout-flow > *, .dz-grid > * { margin: 0; }
.dz-card {
  position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 1rem;
  background: var(--dz-surface); border: 1px solid var(--dz-line); border-radius: var(--dz-radius);
  padding: clamp(1.5rem, 1rem + 1.4vw, 2.25rem);
  transition: transform .3s cubic-bezier(.2, .7, .2, 1), border-color .3s, box-shadow .3s;
}
.dz-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .3s; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), var(--dz-glow), transparent 60%); }
.dz-card:hover { transform: translateY(-4px); border-color: var(--dz-line-strong); box-shadow: var(--dz-shadow); }
.dz-card:hover::before { opacity: 1; }
.dz-card > * { position: relative; margin: 0; }
.dz-card h3 { font-size: var(--wp--preset--font-size--xl); }
.dz-card p { color: var(--dz-muted); font-size: var(--wp--preset--font-size--sm); line-height: 1.65; }
.dz-card .dz-link-arrow { margin-top: auto; padding-top: .5rem; }
.dz-card .dz-link-arrow a { color: var(--dz-fg); }
.dz-card .dz-card__tag { font-family: var(--wp--preset--font-family--mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--dz-accent-ink); }
.dz-card--stretch a::before { content: ""; position: absolute; inset: 0; z-index: 2; }

/* ---------- Reveal animation ---------- */
.js .dz-reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1); }
.js .dz-reveal.is-in { opacity: 1; transform: none; }
.js .dz-grid > .dz-reveal:nth-child(2) { transition-delay: .08s; }
.js .dz-grid > .dz-reveal:nth-child(3) { transition-delay: .16s; }
.js .dz-grid > .dz-reveal:nth-child(4) { transition-delay: .24s; }
.js .dz-grid > .dz-reveal:nth-child(5) { transition-delay: .32s; }
.js .dz-grid > .dz-reveal:nth-child(6) { transition-delay: .4s; }

/* ---------- Header ---------- */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
.dz-header { position: relative; isolation: isolate; border-bottom: 1px solid var(--dz-line); transition: box-shadow .3s; }
.dz-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--dz-header-bg); -webkit-backdrop-filter: saturate(160%) blur(18px); backdrop-filter: saturate(160%) blur(18px); }
.dz-header.is-stuck { box-shadow: 0 8px 30px -18px rgba(0, 0, 0, .5); }
.dz-header__bar { position: relative; max-width: 1240px; margin-inline: auto; height: var(--dz-header-h); padding-inline: var(--dz-gutter); display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; box-sizing: content-box; }
.dz-brand { display: flex; align-items: center; gap: .7rem; flex: none; margin: 0; }
.dz-brand .wp-block-site-logo img { width: 38px; height: 38px; display: block; transition: filter .3s, transform .4s; }
.dz-brand:hover .wp-block-site-logo img { transform: rotate(-6deg) scale(1.05); }
:root[data-theme="dark"] .dz-brand .wp-block-site-logo img { filter: invert(1); }
.dz-brand .wp-block-site-title { font-size: 1.125rem; font-weight: 700; letter-spacing: -.03em; margin: 0; }
.dz-brand .wp-block-site-title a { text-decoration: none; }

.dz-nav { display: flex; align-items: center; gap: .25rem; margin: 0 auto 0 1.5rem; flex: 1; }
.dz-nav__item { margin: 0; position: static; }
.dz-nav__item.dz-mega-narrow { position: relative; }
.dz-nav__trigger { margin: 0; }
.dz-nav__trigger a { display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .85rem; border-radius: 999px; font-size: .9375rem; font-weight: 500; color: var(--dz-muted); text-decoration: none; transition: color .2s, background .2s; }
.dz-nav__trigger a:hover, .dz-nav__item:focus-within > .dz-nav__trigger a, .dz-nav__item.is-open > .dz-nav__trigger a { color: var(--dz-fg); background: var(--dz-surface-2); text-decoration: none; }
.dz-has-mega > .dz-nav__trigger a::after { content: ""; width: .6rem; height: .6rem; background: currentColor; -webkit-mask: var(--ico-chev) center/contain no-repeat; mask: var(--ico-chev) center/contain no-repeat; transition: transform .25s; }
.dz-has-mega.is-open > .dz-nav__trigger a::after { transform: rotate(180deg); }

.dz-mega { position: absolute; left: var(--dz-gutter); right: var(--dz-gutter); top: 100%; margin: 0; padding-top: .5rem; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .22s, transform .22s, visibility .22s; }
.dz-mega > .dz-mega__panel { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 3fr); gap: 0; background: var(--dz-bg); border: 1px solid var(--dz-line); border-radius: 24px; box-shadow: var(--dz-shadow); overflow: hidden; margin: 0; }
.dz-mega--sm { left: 0; right: auto; width: min(640px, calc(100vw - 2 * var(--dz-gutter))); }
.dz-mega--sm > .dz-mega__panel { grid-template-columns: minmax(0, 1fr); }
.dz-mega--sm .dz-mega__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (hover: hover) and (min-width: 961px) { .dz-has-mega:hover > .dz-mega { opacity: 1; visibility: visible; transform: none; } }
.dz-has-mega:focus-within > .dz-mega, .dz-has-mega.is-open > .dz-mega { opacity: 1; visibility: visible; transform: none; }
.dz-mega__intro { padding: 2rem; background: var(--dz-surface); border-right: 1px solid var(--dz-line); display: flex; flex-direction: column; gap: .75rem; margin: 0; }
.dz-mega__intro > * { margin: 0; }
.dz-mega__intro h3 { font-size: 1.375rem; }
.dz-mega__intro p { font-size: .9rem; color: var(--dz-muted); }
.dz-mega__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; padding: 1rem; margin: 0; }
.dz-mega__link { position: relative; display: flex; gap: 1rem; align-items: flex-start; padding: 1rem; border-radius: 16px; transition: background .2s; margin: 0; }
.dz-mega__link:hover { background: var(--dz-surface); }
.dz-mega__link > * { margin: 0; }
.dz-mega__text { display: grid; gap: .15rem; margin: 0; }
.dz-mega__text > * { margin: 0; }
.dz-mega__title { font-weight: 600; font-size: .98rem; letter-spacing: -.01em; }
.dz-mega__title a { text-decoration: none; color: var(--dz-fg); }
.dz-mega__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 16px; }
.dz-mega__desc { font-size: .84rem; line-height: 1.5; color: var(--dz-muted); }

.dz-header__actions { display: flex; align-items: center; gap: .6rem; flex: none; margin: 0; }
.dz-header__actions .wp-block-buttons { margin: 0; }
.dz-header__actions .wp-block-button__link { padding: .6rem 1.15rem; }
.dz-toggle, .dz-burger { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--dz-line); background: var(--dz-surface); color: var(--dz-fg); display: grid; place-items: center; cursor: pointer; padding: 0; transition: background .2s, border-color .2s, transform .2s; }
.dz-toggle:hover, .dz-burger:hover { border-color: var(--dz-line-strong); background: var(--dz-surface-2); }
.dz-toggle svg { width: 18px; height: 18px; grid-area: 1 / 1; transition: transform .5s cubic-bezier(.2, .7, .2, 1), opacity .3s; }
.dz-toggle .dz-sun { opacity: 0; transform: rotate(-90deg) scale(.5); }
:root[data-theme="dark"] .dz-toggle .dz-sun { opacity: 1; transform: none; }
:root[data-theme="dark"] .dz-toggle .dz-moon { opacity: 0; transform: rotate(90deg) scale(.5); }
.dz-burger { display: none; position: relative; }
.dz-burger span { position: absolute; left: 12px; right: 12px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .3s, opacity .2s, top .3s; }
.dz-burger span:nth-child(1) { top: 14px; } .dz-burger span:nth-child(2) { top: 19px; } .dz-burger span:nth-child(3) { top: 24px; }
body.dz-menu-open .dz-burger span:nth-child(1) { top: 19px; transform: rotate(45deg); }
body.dz-menu-open .dz-burger span:nth-child(2) { opacity: 0; }
body.dz-menu-open .dz-burger span:nth-child(3) { top: 19px; transform: rotate(-45deg); }
.dz-nav__cta { display: none; }

@media (max-width: 960px) {
  .dz-burger { display: grid; }
  .dz-header__actions > .wp-block-buttons { display: none; }
  .dz-nav { position: fixed; left: 0; right: 0; bottom: 0; top: var(--dz-header-h); margin: 0; padding: 1rem var(--dz-gutter) 3rem; flex-direction: column; align-items: stretch; gap: 0; background: var(--dz-bg); overflow-y: auto; transform: translateY(-12px); opacity: 0; visibility: hidden; transition: opacity .25s, transform .25s, visibility .25s; z-index: 99; }
  .admin-bar .dz-nav { top: calc(var(--dz-header-h) + 46px); }
  body.dz-menu-open { overflow: hidden; }
  body.dz-menu-open .dz-nav { opacity: 1; visibility: visible; transform: none; }
  .dz-nav__item { border-bottom: 1px solid var(--dz-line); }
  .dz-nav__trigger a { display: flex; justify-content: space-between; width: 100%; padding: 1.1rem .25rem; font-size: 1.25rem; font-weight: 600; color: var(--dz-fg); border-radius: 0; background: none !important; }
  .dz-mega, .dz-mega--sm { position: static; width: auto; padding: 0; opacity: 1; visibility: visible; transform: none; display: none; }
  .dz-has-mega.is-open > .dz-mega { display: block; }
  .dz-has-mega:focus-within > .dz-mega { display: none; }
  .dz-has-mega.is-open:focus-within > .dz-mega { display: block; }
  .dz-mega > .dz-mega__panel { display: block; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
  .dz-mega__intro { display: none; }
  .dz-mega__grid, .dz-mega--sm .dz-mega__grid { grid-template-columns: 1fr; padding: 0 0 1rem; }
  .dz-mega__link { padding: .75rem .25rem; }
  .dz-nav__cta { display: block; margin-top: 1.5rem; }
  .dz-nav__cta .wp-block-button, .dz-nav__cta .wp-block-button__link { width: 100%; text-align: center; }
}

/* ---------- Hero ---------- */
.dz-hero { overflow: hidden; padding-block: clamp(3.5rem, 2rem + 6vw, 7.5rem) clamp(3.5rem, 2rem + 5vw, 6.5rem); isolation: isolate; }
.dz-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background-image: linear-gradient(var(--dz-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--dz-grid-line) 1px, transparent 1px); background-size: 56px 56px; -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 35%, #000 25%, transparent 75%); mask-image: radial-gradient(ellipse 80% 70% at 50% 35%, #000 25%, transparent 75%); animation: dz-grid-drift 40s linear infinite; }
.dz-hero::after { content: ""; position: absolute; z-index: -1; width: min(60vw, 720px); aspect-ratio: 1; right: -10%; top: -20%; background: radial-gradient(circle, var(--dz-glow), transparent 65%); filter: blur(30px); animation: dz-float 14s ease-in-out infinite alternate; pointer-events: none; }
@keyframes dz-grid-drift { to { background-position: 56px 56px, 56px 56px; } }
@keyframes dz-float { to { transform: translate(-6%, 10%) scale(1.08); } }
.dz-hero .wp-block-columns { align-items: center; gap: clamp(2rem, 1rem + 4vw, 5rem); margin: 0; }
.dz-hero h1 { margin: 1.25rem 0 0; }
.dz-hero .dz-lead { margin-top: 1.5rem; font-size: var(--wp--preset--font-size--lg); }
.dz-hero .wp-block-buttons { margin-top: 2rem; }
.dz-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.75rem 0 0; }
.dz-chips p { margin: 0; }
.dz-chips a { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .95rem; border: 1px solid var(--dz-line); border-radius: 999px; font-size: .875rem; font-weight: 500; color: var(--dz-muted); background: var(--dz-surface); text-decoration: none; transition: color .2s, border-color .2s, background .2s, transform .2s; }
.dz-chips a:hover { color: var(--dz-fg); border-color: var(--dz-line-strong); transform: translateY(-2px); text-decoration: none; }

/* hero diagram */
.dz-flow { width: 100%; height: auto; display: block; overflow: visible; }
.dz-flow .dz-path { fill: none; stroke: var(--dz-line-strong); stroke-width: 1.5; }
.dz-flow .dz-path-live { fill: none; stroke: var(--dz-accent); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 6 190; animation: dz-dash 3.2s linear infinite; filter: drop-shadow(0 0 6px var(--dz-accent)); }
.dz-flow .dz-path-live:nth-of-type(3n) { animation-delay: -1s; } .dz-flow .dz-path-live:nth-of-type(3n+1) { animation-delay: -2s; }
@keyframes dz-dash { to { stroke-dashoffset: -196; } }
.dz-flow .dz-node rect { fill: var(--dz-surface); stroke: var(--dz-line-strong); stroke-width: 1.5; transition: stroke .3s; }
.dz-flow .dz-node--core rect { fill: var(--dz-fg); stroke: var(--dz-fg); }
.dz-flow .dz-node text { fill: var(--dz-fg); font: 600 15px var(--wp--preset--font-family--sans); letter-spacing: -.01em; }
.dz-flow .dz-node--core text { fill: var(--dz-bg); }
.dz-flow .dz-node .dz-sub { fill: var(--dz-muted); font: 500 10.5px var(--wp--preset--font-family--mono); letter-spacing: .08em; text-transform: uppercase; }
.dz-flow .dz-node--core .dz-sub { fill: var(--dz-bg); opacity: .6; }
.dz-flow .dz-ring { fill: none; stroke: var(--dz-accent); stroke-width: 1.5; opacity: 0; transform-box: fill-box; transform-origin: center; animation: dz-ring 3.6s ease-out infinite; }
@keyframes dz-ring { 0% { opacity: .7; transform: scale(.9); } 100% { opacity: 0; transform: scale(1.35); } }
.dz-flow .dz-node { animation: dz-bob 6s ease-in-out infinite; }
.dz-flow .dz-node:nth-of-type(2n) { animation-delay: -2s; } .dz-flow .dz-node:nth-of-type(3n) { animation-delay: -4s; }
@keyframes dz-bob { 50% { transform: translateY(-5px); } }

/* ---------- Marquee / logos ---------- */
.dz-trust { padding-block: clamp(2rem, 1rem + 3vw, 3.5rem); border-block: 1px solid var(--dz-line); }
.dz-trust__label { text-align: center; font-family: var(--wp--preset--font-family--mono); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--dz-muted); margin: 0 0 1.75rem; }
.dz-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.dz-marquee__track { display: flex; align-items: center; gap: 1rem; width: max-content; margin: 0; animation: dz-marquee 38s linear infinite; }
.dz-marquee:hover .dz-marquee__track { animation-play-state: paused; }
.dz-marquee__track figure, .dz-logo-tile { margin: 0; flex: none; height: 76px; padding: 0 1.5rem; display: grid; place-items: center; background: #fff; border: 1px solid var(--dz-line); border-radius: 16px; }
.dz-marquee__track img { height: 42px; width: auto; max-width: 150px; object-fit: contain; filter: grayscale(1) contrast(1.05); opacity: .8; transition: filter .3s, opacity .3s; }
.dz-marquee__track figure:hover img { filter: none; opacity: 1; }
@keyframes dz-marquee { to { transform: translateX(calc(-50% - .5rem)); } }

/* ---------- Intro / about ---------- */
.dz-intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.dz-intro > * { margin: 0; }
.dz-intro__text { font-size: var(--wp--preset--font-size--xl); line-height: 1.5; letter-spacing: -.015em; }
.dz-intro__text strong { color: var(--dz-fg); }

/* ---------- Brand + partner + case cards ---------- */
.dz-brand-card h3 { font-size: var(--wp--preset--font-size--xxl); }
.dz-case .dz-case__num { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; color: var(--dz-muted); letter-spacing: .1em; }
.dz-logo-slot { background: #fff; border-radius: 14px; border: 1px solid var(--dz-line); height: 72px; width: fit-content; min-width: 120px; padding: 0 1.25rem; display: grid; place-items: center; margin: 0; }
.dz-logo-slot img { height: 40px; width: auto; object-fit: contain; }
.dz-partner-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; }
.dz-partner-strip > * { margin: 0; }
.dz-placeholder { border: 1px dashed var(--dz-line-strong); border-radius: var(--dz-radius); padding: 2rem; text-align: center; color: var(--dz-muted); font-family: var(--wp--preset--font-family--mono); font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; }

/* ---------- CTA ---------- */
.dz-cta { position: relative; overflow: hidden; isolation: isolate; border: 1px solid var(--dz-line-strong); border-radius: 32px; padding: clamp(2.5rem, 1.5rem + 5vw, 6rem) clamp(1.5rem, 1rem + 4vw, 5rem); background: var(--dz-surface); text-align: center; }
.dz-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(var(--dz-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--dz-grid-line) 1px, transparent 1px); background-size: 40px 40px; -webkit-mask-image: radial-gradient(ellipse at center, #000 20%, transparent 75%); mask-image: radial-gradient(ellipse at center, #000 20%, transparent 75%); }
.dz-cta::after { content: ""; position: absolute; z-index: -1; width: 70%; aspect-ratio: 1.6; left: 15%; bottom: -55%; background: radial-gradient(ellipse, var(--dz-glow), transparent 65%); }
.dz-cta > * { margin-inline: auto; }
.dz-cta h2 { font-size: var(--wp--preset--font-size--xxxl); max-width: 18ch; }
.dz-cta p { color: var(--dz-muted); font-size: var(--wp--preset--font-size--lg); max-width: 52ch; }
.dz-cta .wp-block-buttons { justify-content: center; margin-top: 1.5rem; }

/* ---------- Inner page hero ---------- */
.dz-pagehero { overflow: hidden; isolation: isolate; padding-block: clamp(3.5rem, 2rem + 6vw, 7rem) clamp(2.5rem, 1.5rem + 3vw, 4.5rem); border-bottom: 1px solid var(--dz-line); }
.dz-pagehero::before { content: ""; position: absolute; inset: 0; z-index: -2; background-image: linear-gradient(var(--dz-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--dz-grid-line) 1px, transparent 1px); background-size: 56px 56px; -webkit-mask-image: radial-gradient(ellipse 70% 100% at 20% 0%, #000 10%, transparent 70%); mask-image: radial-gradient(ellipse 70% 100% at 20% 0%, #000 10%, transparent 70%); }
.dz-pagehero::after { content: ""; position: absolute; z-index: -1; width: min(50vw, 560px); aspect-ratio: 1; right: -8%; top: -30%; background: radial-gradient(circle, var(--dz-glow), transparent 65%); filter: blur(30px); animation: dz-float 14s ease-in-out infinite alternate; pointer-events: none; }
.dz-pagehero h1 { font-size: clamp(2.25rem, 1.4rem + 4vw, 4.5rem); margin-top: 1.25rem; max-width: 18ch; }
.dz-pagehero .dz-lead { margin-top: 1.5rem; }
.dz-pagehero .dz-body-copy { margin-top: 1rem; color: var(--dz-muted); max-width: 62ch; }
.dz-subnav { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.dz-subnav p { margin: 0; }
.dz-subnav a { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem 1rem; border: 1px solid var(--dz-line); border-radius: 999px; font-size: .875rem; font-weight: 500; color: var(--dz-muted); background: var(--dz-surface); text-decoration: none; transition: .2s; }
.dz-subnav a:hover { color: var(--dz-fg); border-color: var(--dz-line-strong); text-decoration: none; }

/* ---------- Service blocks ---------- */
.dz-svc { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(1.5rem, 1rem + 4vw, 5rem); padding-block: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); border-top: 1px solid var(--dz-line); }
.dz-svc:first-child { border-top: 0; padding-top: 0; }
.dz-svc > * { margin: 0 !important; }
.dz-svc__head { position: sticky; top: calc(var(--dz-header-h) + 32px); align-self: start; display: grid; gap: 1.25rem; }
.dz-svc__head > * { margin: 0; }
.dz-svc__num { font-family: var(--wp--preset--font-family--mono); font-size: .8rem; letter-spacing: .12em; color: var(--dz-muted); }
.dz-svc__head h2 { font-size: var(--wp--preset--font-size--xxl); }
.dz-svc__body { display: grid; gap: 1.25rem; max-width: 68ch; }
.dz-svc__body > * { margin: 0 !important; }
.dz-svc__body p { color: var(--dz-muted); line-height: 1.75; }
.dz-svc__body p.dz-label, .dz-label { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--dz-fg); margin-top: .75rem !important; }
.dz-checks { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.dz-checks:only-child, .dz-checks--one { grid-template-columns: 1fr; }
.dz-checks li { position: relative; padding: .85rem 1rem .85rem 2.9rem; border: 1px solid var(--dz-line); border-radius: 14px; background: var(--dz-surface); font-size: .9375rem; line-height: 1.45; margin: 0; transition: border-color .2s, transform .2s; }
.dz-checks li:hover { border-color: var(--dz-line-strong); transform: translateX(3px); }
.dz-checks li::before { content: ""; position: absolute; left: 1rem; top: 1.02rem; width: 1.05rem; height: 1.05rem; background: var(--dz-accent); -webkit-mask: var(--ico-check) center/contain no-repeat; mask: var(--ico-check) center/contain no-repeat; }
.dz-relevant { padding: 1.1rem 1.25rem !important; border-left: 2px solid var(--dz-accent); background: linear-gradient(90deg, var(--dz-glow), transparent 70%); border-radius: 0 14px 14px 0; color: var(--dz-fg) !important; font-size: .95rem; }
.dz-svc__body .wp-block-buttons { margin-top: .5rem !important; }
.dz-prose-2 { display: grid; gap: 1.1rem; }

/* two-way split (partnerships etc.) */
.dz-steps { counter-reset: dz; }

/* ---------- Footer ---------- */
.dz-footer { border-top: 1px solid var(--dz-line); background: var(--dz-surface); padding: clamp(3rem, 2rem + 4vw, 5.5rem) var(--dz-gutter) 2rem; margin: 0; }
.dz-footer__grid { max-width: 1240px; margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 1rem + 3vw, 4rem); }
.dz-footer__grid > * { margin: 0; }
.dz-footer h4 { font-size: .75rem; font-family: var(--wp--preset--font-family--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--dz-muted); margin: 0 0 1.1rem; font-weight: 500; }
.dz-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .65rem; }
.dz-footer a { color: var(--dz-fg); font-size: .95rem; text-decoration: none; opacity: .85; transition: opacity .2s, color .2s; }
.dz-footer a:hover { opacity: 1; color: var(--dz-accent-ink); text-decoration: none; }
.dz-footer__brand p { color: var(--dz-muted); max-width: 34ch; font-size: .95rem; }
.dz-footer__tag { font-size: 1.5rem !important; font-weight: 700; letter-spacing: -.03em; line-height: 1.15; color: var(--dz-fg) !important; max-width: 14ch !important; margin: 1.25rem 0 .75rem !important; }
.dz-footer__bottom { max-width: 1240px; margin: clamp(2.5rem, 2rem + 2vw, 4rem) auto 0; padding-top: 1.5rem; border-top: 1px solid var(--dz-line); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; color: var(--dz-muted); font-size: .85rem; }
.dz-footer__bottom p { margin: 0; }

/* ---------- Default content (blog, pages, 404) ---------- */
.dz-entry { padding: clamp(3rem, 2rem + 4vw, 6rem) var(--dz-gutter); }
.dz-entry .wp-block-post-title { font-size: var(--wp--preset--font-size--xxxl); }
.dz-entry .wp-block-post-content > * { max-width: 760px; margin-inline: auto; }
.dz-entry .wp-block-post-content > .alignwide { max-width: 1240px; }
.dz-entry .wp-block-post-content > .alignfull { max-width: none; }
.wp-block-post-template.is-layout-grid, .dz-posts { gap: 1.5rem; }
.dz-posts .wp-block-post { background: var(--dz-surface); border: 1px solid var(--dz-line); border-radius: var(--dz-radius); padding: 1.5rem; transition: transform .3s, border-color .3s; }
.dz-posts .wp-block-post:hover { transform: translateY(-4px); border-color: var(--dz-line-strong); }
.wp-block-search__input, input[type="text"], input[type="email"], input[type="tel"], input[type="url"], textarea, select { background: var(--dz-surface); color: var(--dz-fg); border: 1px solid var(--dz-line-strong); border-radius: 12px; padding: .85rem 1rem; font: inherit; width: 100%; transition: border-color .2s, box-shadow .2s; }
input:focus, textarea:focus, select:focus { outline: none; border-color: var(--dz-accent); box-shadow: 0 0 0 4px var(--dz-glow); }
input[type="submit"], .wpcf7-submit { background: var(--dz-fg); color: var(--dz-bg); border: 0; border-radius: 999px; padding: .9rem 1.75rem; font-weight: 600; cursor: pointer; width: auto; transition: transform .2s, box-shadow .2s; }
input[type="submit"]:hover, .wpcf7-submit:hover { transform: translateY(-2px); box-shadow: 0 0 0 4px var(--dz-glow); }
.wpcf7 label { display: grid; gap: .4rem; font-weight: 500; font-size: .9rem; margin-bottom: 1rem; }

/* ---------- Contact ---------- */
.dz-contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.dz-contact > * { margin: 0; }
.dz-contact__form { background: var(--dz-surface); border: 1px solid var(--dz-line); border-radius: 28px; padding: clamp(1.5rem, 1rem + 2vw, 2.75rem); }
.dz-contact__side { display: grid; gap: 1rem; }
.dz-contact__side > * { margin: 0; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .dz-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dz-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dz-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .dz-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dz-intro, .dz-contact, .dz-svc { grid-template-columns: 1fr; }
  .dz-svc__head { position: static; }
}
@media (max-width: 640px) {
  .dz-grid--2, .dz-grid--3, .dz-grid--4 { grid-template-columns: 1fr; }
  .dz-checks { grid-template-columns: 1fr; }
  .dz-footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem 1.5rem; }
  .dz-hero .wp-block-buttons .wp-block-button, .dz-cta .wp-block-buttons .wp-block-button { width: 100%; }
  .dz-hero .wp-block-button__link, .dz-cta .wp-block-button__link { width: 100%; text-align: center; }
  .dz-brand .wp-block-site-title { font-size: 1rem; }
  .dz-footer__bottom { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .js .dz-reveal { opacity: 1; transform: none; }
}

/* ---------- Spacing fixes for stacked blocks in sections ---------- */
.dz-section > .dz-grid + * { margin-top: 1.75rem; }
.dz-section > .dz-grid + * + * { margin-top: clamp(3rem, 2rem + 4vw, 5rem); }
.dz-section > .dz-card { max-width: 1240px; }

/* ---------- Project listing (live query) ---------- */
.dz-projects { list-style: none; padding: 0; margin: 0; gap: clamp(1rem, .6rem + 1vw, 1.5rem); }
.dz-projects > li { margin: 0; }
.dz-projects .dz-card { height: 100%; }
.dz-projects .dz-card > * { margin: 0; }
.dz-logo-slot img { height: 40px !important; width: auto !important; max-width: 160px; object-fit: contain; display: block; }
.dz-card .wp-block-post-title { font-size: var(--wp--preset--font-size--xl); }
.dz-card .wp-block-post-title a { color: var(--dz-fg); text-decoration: none; }
.dz-card .wp-block-post-excerpt { color: var(--dz-muted); font-size: var(--wp--preset--font-size--sm); }
.dz-card .wp-block-post-excerpt__excerpt { margin: 0; }
a.dz-link-arrow { margin-top: auto; padding-top: .5rem; color: var(--dz-fg); }
a.dz-link-arrow::after { content: ""; width: 1.1em; height: 1.1em; background: currentColor; -webkit-mask: var(--ico-arrow) center/contain no-repeat; mask: var(--ico-arrow) center/contain no-repeat; transition: transform .2s; }
a.dz-link-arrow:hover::after { transform: translateX(4px); }

/* ---------- Hero columns: stack before the headline gets cramped ---------- */
.dz-hero .wp-block-column:first-child { flex-basis: 54% !important; flex-grow: 1; }
.dz-hero .wp-block-column:last-child { flex-basis: 46% !important; }
.dz-hero h1 { overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance; }
@media (max-width: 1023px) {
  .dz-hero .wp-block-columns { flex-wrap: wrap !important; flex-direction: column; }
  .dz-hero .wp-block-column, .dz-hero .wp-block-column:first-child, .dz-hero .wp-block-column:last-child { flex-basis: 100% !important; width: 100%; }
  .dz-hero__art { max-width: 560px; margin-inline: auto; }
}

/* Logo image (core/image) */
.dz-brand .dz-logo-img { margin: 0; flex: none; }
.dz-brand .dz-logo-img img { width: 38px; height: 38px; display: block; transition: filter .3s, transform .4s; }
.dz-brand:hover .dz-logo-img img { transform: rotate(-6deg) scale(1.05); }
:root[data-theme="dark"] .dz-logo-img img { filter: invert(1); }

.dz-project-img { margin: 0 0 .25rem !important; border-radius: 14px; overflow: hidden; border: 1px solid var(--dz-line); }
.dz-project-img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.dz-card:hover .dz-project-img img { transform: scale(1.04); }
.dz-marquee__track img { height: 44px; width: auto; max-width: 160px; }

.dz-section-head p.dz-eyebrow, .dz-cta p.dz-eyebrow { font-size: .75rem; color: var(--dz-muted); max-width: none; line-height: 1.4; }
.dz-pagehero p.dz-eyebrow { font-size: .75rem; }

/* ---------- Align every section child to the same 1240px container edge ---------- */
.dz-section > *, .dz-pagehero > * { max-width: 1240px; margin-left: max(0px, calc((100% - 1240px) / 2)) !important; margin-right: auto !important; }
.dz-hero > .wp-block-columns { width: 100%; }
.dz-has-mega > .dz-nav__trigger a::after { width: .7rem; height: .7rem; }

/* ---------- No horizontal overflow; right-anchored small mega panel ---------- */
html, body { overflow-x: clip; }
.dz-mega--sm { left: auto; right: 0; }
.dz-nav__item.dz-mega-narrow { position: relative; }
@media (max-width: 1100px) { .dz-mega--sm { right: -4rem; } }

/* ---------- Wordmark logo: separate light/dark artwork ---------- */
.dz-brand { gap: 0; }
.dz-logo-wm { margin: 0; flex: none; }
.dz-logo-wm a { display: block; line-height: 0; }
.dz-logo-wm img { height: 46px; width: auto; display: block; filter: none !important; transition: opacity .3s, transform .3s; }
.dz-logo-wm:hover img { transform: scale(1.03); }
.dz-logo-wm--dark { display: none; }
:root[data-theme="dark"] .dz-logo-wm--light { display: none; }
:root[data-theme="dark"] .dz-logo-wm--dark { display: block; }
.dz-footer .dz-logo-wm img { height: 52px; }
@media (max-width: 640px) { .dz-logo-wm img { height: 40px; } }

/* ---------- Brand yellow accents ---------- */
.wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--dz-accent); color: #0d0d0d; border-color: var(--dz-accent); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--dz-accent); color: #0d0d0d; box-shadow: 0 10px 30px -10px var(--dz-glow), 0 0 0 4px var(--dz-glow); }
.dz-card:hover .dz-ico, .dz-mega__link:hover .dz-ico, .dz-svc:hover .dz-ico { color: #0d0d0d; background: var(--dz-accent); border-color: var(--dz-accent); box-shadow: 0 0 0 5px var(--dz-glow); }
input[type="submit"], .wpcf7-submit { background: var(--dz-accent); color: #0d0d0d; }
.dz-flow .dz-node--core rect { fill: var(--dz-accent); stroke: var(--dz-accent); }
.dz-flow .dz-node--core text { fill: #0d0d0d; }
.dz-flow .dz-node--core .dz-sub { fill: #0d0d0d; opacity: .65; }
.dz-checks li::before { background: var(--dz-accent-ink); }
.dz-link-arrow a:hover, a.dz-link-arrow:hover { color: var(--dz-accent-ink); }

/* Atkinson Hyperlegible has only 400/700 */
body { font-synthesis: none; }
strong, b, .dz-mega__title, .dz-nav__trigger a, .wp-block-button__link, .dz-checks li strong { font-weight: 700; }
.dz-nav__trigger a { font-weight: 400; }
.dz-eyebrow, .dz-label, .dz-trust__label, .dz-card__tag, .dz-svc__num { font-weight: 700; }

/* ---------- Inner page hero (split layout) ---------- */
.dz-pagehero .wp-block-columns { align-items: center; gap: clamp(2rem, 1rem + 4vw, 5rem); margin: 0; width: 100%; flex-wrap: nowrap; }
.dz-pagehero .wp-block-column:first-child { flex-basis: 58% !important; flex-grow: 1; }
.dz-pagehero .wp-block-column:last-child { flex-basis: 42% !important; flex-grow: 0; }
.dz-pagehero .wp-block-column > * { margin-left: 0 !important; margin-right: auto !important; }
.dz-pagehero h1 { max-width: 15ch; margin-top: 1.25rem; text-wrap: balance; }
.dz-pagehero .dz-lead { margin-top: 1.25rem; max-width: 56ch; }
.dz-pagehero .wp-block-buttons { margin-top: 2rem; }
@media (max-width: 1023px) {
  .dz-pagehero .wp-block-columns { flex-wrap: wrap !important; flex-direction: column; }
  .dz-pagehero .wp-block-column, .dz-pagehero .wp-block-column:first-child, .dz-pagehero .wp-block-column:last-child { flex-basis: 100% !important; width: 100%; }
}
.dz-hero-panel { position: relative; overflow: hidden; background: var(--dz-surface); border: 1px solid var(--dz-line); border-radius: 28px; padding: clamp(1.25rem, 1rem + 1vw, 2rem); box-shadow: var(--dz-shadow); isolation: isolate; }
.dz-hero-panel::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--dz-accent), transparent); background-size: 50% 100%; background-repeat: no-repeat; animation: dz-sweep 4.5s ease-in-out infinite alternate; }
.dz-hero-panel::after { content: ""; position: absolute; z-index: -1; width: 70%; aspect-ratio: 1; right: -25%; bottom: -35%; background: radial-gradient(circle, var(--dz-glow), transparent 65%); }
@keyframes dz-sweep { from { background-position: 0 0; } to { background-position: 100% 0; } }
.dz-hero-panel .dz-panel-label { margin: 0 0 .5rem; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--dz-muted); font-weight: 700; }
.dz-toc__item { margin: 0 !important; }
.dz-toc__item a { display: flex; align-items: center; gap: 1rem; padding: 1.05rem .25rem; border-bottom: 1px solid var(--dz-line); font-weight: 700; font-size: 1.0625rem; color: var(--dz-fg); text-decoration: none; transition: transform .25s, color .2s; }
.dz-toc__item:last-child a { border-bottom: 0; }
.dz-toc__item a span { font-size: .8rem; letter-spacing: .1em; color: var(--dz-muted); min-width: 1.75rem; font-weight: 700; }
.dz-toc__item a::after { content: ""; margin-left: auto; width: 1.1em; height: 1.1em; background: currentColor; -webkit-mask: var(--ico-arrow) center/contain no-repeat; mask: var(--ico-arrow) center/contain no-repeat; opacity: .6; transition: transform .25s, opacity .2s; }
.dz-toc__item a:hover { transform: translateX(4px); color: var(--dz-accent-ink); text-decoration: none; }
.dz-toc__item a:hover::after { transform: translateX(3px); opacity: 1; }
.dz-orbit { width: 100%; height: auto; display: block; }
.dz-orbit .ring { fill: none; stroke: var(--dz-line-strong); stroke-width: 1.2; }
.dz-orbit .ring--dash { stroke-dasharray: 3 7; }
.dz-orbit .spin { transform-origin: 200px 160px; animation: dz-spin 30s linear infinite; }
.dz-orbit .spin--rev { animation-duration: 44s; animation-direction: reverse; }
.dz-orbit .dot { fill: var(--dz-fg); }
.dz-orbit .dot--accent { fill: var(--dz-accent); filter: drop-shadow(0 0 8px var(--dz-accent)); }
.dz-orbit .core { fill: var(--dz-accent); filter: drop-shadow(0 0 14px var(--dz-accent)); animation: dz-core 3s ease-in-out infinite; transform-origin: 200px 160px; }
@keyframes dz-spin { to { transform: rotate(360deg); } }
@keyframes dz-core { 50% { transform: scale(1.18); } }
.dz-prose-cols { columns: 2; column-gap: clamp(2rem, 1rem + 4vw, 5rem); }
.dz-prose-cols p { margin: 0 0 1.25rem; break-inside: avoid; color: var(--dz-muted); font-size: var(--wp--preset--font-size--lg); line-height: 1.65; }
@media (max-width: 900px) { .dz-prose-cols { columns: 1; } }

/* ---------- Classic footer ---------- */
.dz-footer__grid { grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr)); }
.dz-footer address { font-style: normal; display: grid; gap: .15rem; color: var(--dz-muted); font-size: .95rem; line-height: 1.5; }
.dz-footer address strong { color: var(--dz-fg); }
.dz-footer__col p { margin: 0 0 .85rem; color: var(--dz-muted); font-size: .95rem; }
.dz-footer__col p a { color: var(--dz-fg); font-weight: 700; opacity: 1; }
.dz-footer__social { display: flex; gap: .6rem; margin-top: 1.25rem; }
.dz-footer__social a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--dz-line-strong); display: grid; place-items: center; opacity: 1; transition: background .2s, color .2s, transform .2s; }
.dz-footer__social a:hover { background: var(--dz-accent); color: #0d0d0d; border-color: var(--dz-accent); transform: translateY(-2px); }
.dz-footer__social svg { width: 18px; height: 18px; }
.dz-footer__legal { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
.dz-footer__legal a { font-size: .85rem; color: var(--dz-muted); }
@media (max-width: 1100px) { .dz-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dz-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 640px) { .dz-footer__grid { grid-template-columns: 1fr; } }

.dz-footer .wp-block-button__link { white-space: nowrap; padding: .7rem 1.2rem; }
.dz-footer__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, .9fr) minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1.2fr); }
@media (max-width: 1100px) { .dz-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .dz-footer__grid { grid-template-columns: 1fr; } }

/* ---------- Client logo strip: trimmed logos, balanced by box size ---------- */
.dz-marquee__track { gap: 1rem; }
.dz-marquee__track figure { height: 96px; min-width: 150px; padding: 0 1.75rem; display: grid; place-items: center; background: #fff; border: 1px solid var(--dz-line); border-radius: 18px; }
.dz-marquee__track img { width: auto !important; height: auto !important; max-width: 180px; max-height: 64px; object-fit: contain; filter: none; opacity: 1; }
.dz-marquee__track figure:hover img { transform: scale(1.04); }
.dz-marquee__track img { transition: transform .3s; }

.dz-marquee__track figure { height: 112px; }
.dz-marquee__track img { max-height: 60px; max-width: 180px; }
.dz-marquee__track img.dz-logo--tall { max-height: 88px; max-width: 120px; }

/* ---------- Centered navigation ---------- */
.dz-header__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.dz-header__bar > .dz-brand { justify-self: start; }
.dz-nav { margin: 0; justify-self: center; justify-content: center; gap: .125rem; }
.dz-header__actions { justify-self: end; }
.dz-nav__trigger a { padding: .6rem 1rem; font-size: 1rem; }
.dz-nav__item.is-current > .dz-nav__trigger a { color: var(--dz-fg); }
@media (max-width: 960px) {
  .dz-header__bar { display: flex; justify-content: space-between; }
  .dz-nav { justify-self: auto; justify-content: flex-start; }
}

/* ---------- Brands mega (live list) ---------- */
.dz-mega--left { left: 0; right: auto; width: min(560px, calc(100vw - 2 * var(--dz-gutter))); }
.dz-mega--sm .dz-mega__panel { padding: .5rem; }
.dz-mega__note { margin: 0; padding: 1rem 1rem .25rem; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--dz-muted); font-weight: 700; }
.dz-mega__gridwrap { margin: 0; }
.dz-mega__gridwrap .dz-mega__grid { list-style: none; margin: 0; padding: .5rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.dz-mega__gridwrap .dz-mega__grid > li { margin: 0; }
.dz-mega__link--brand { align-items: center; gap: .9rem; }
.dz-mega__link--brand .dz-mega__title { margin: 0; }
.dz-mega__all { margin: 0; padding: .75rem 1rem 1rem; }
.dz-mega__all a { color: var(--dz-fg); }
.dz-logo-slot--sm { height: 44px; min-width: 88px; padding: 0 .75rem; border-radius: 10px; margin: 0; }
.dz-logo-slot--sm img { height: 22px !important; max-width: 90px; }
.dz-logo-slot--lg { height: 88px; min-width: 190px; padding: 0 1.5rem; }
.dz-logo-slot--lg img { height: 40px !important; max-width: 200px; }
.dz-logo-slot--xl { height: 160px; width: 100%; border-radius: 20px; }
.dz-logo-slot--xl img { height: 64px !important; max-width: 80%; }
.dz-logo-panel { padding: clamp(1rem, .75rem + 1vw, 1.75rem); }
.dz-logo-panel .dz-logo-slot { margin: 0; }
.dz-brand-card .dz-logo-slot { margin: 0 0 .5rem; }
.dz-logo-slot img { width: auto !important; }
@media (max-width: 960px) {
  .dz-mega--left, .dz-mega--sm { width: auto; }
  .dz-mega__gridwrap .dz-mega__grid { grid-template-columns: 1fr; padding: 0 0 1rem; }
  .dz-mega__note { padding: .25rem .25rem .5rem; }
  .dz-mega--sm .dz-mega__panel { padding: 0; }
}

/* ---------- Platform partner cards + badges ---------- */
.dz-badge { display: inline-flex; margin: 0; padding: .3rem .8rem; border-radius: 999px; background: var(--dz-glow); border: 1px solid var(--dz-accent); color: var(--dz-fg); font-size: .75rem; font-weight: 700; letter-spacing: .04em; width: fit-content; }
.dz-logo-tile img, .dz-partner-logo img { height: 40px; width: auto; max-width: 170px; object-fit: contain; display: block; }
.dz-partner-logo { margin: 0 0 .5rem; background: #fff; border: 1px solid var(--dz-line); border-radius: 14px; height: 88px; min-width: 180px; width: fit-content; padding: 0 1.5rem; display: grid; place-items: center; }
.dz-partner-logo figure { margin: 0; }
.dz-partner-badges { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin: 0; }
.dz-partner-badges figure { margin: 0; background: #fff; border-radius: 14px; border: 1px solid var(--dz-line); padding: .5rem; }
.dz-partner-badges img { height: 64px; width: auto; display: block; }
.dz-partner-strip .dz-logo-tile { height: 88px; display: grid; place-items: center; }

.dz-logo-panel .dz-logo-slot, .dz-logo-panel .wp-block-post-featured-image { width: 100%; min-width: 0; box-sizing: border-box; }
.dz-section > .wp-block-post-content { max-width: 760px; }
.dz-section > .wp-block-post-content > * { margin-left: 0 !important; margin-right: auto !important; }
.dz-section > .wp-block-post-content h2 { margin-bottom: 1.25rem; }
.dz-section > .wp-block-post-content .wp-block-buttons { margin-top: 2rem; }

.dz-partner-logo { height: 112px; min-width: 200px; }
.dz-partner-logo img { height: 68px; max-width: 200px; }
.dz-partner-strip .dz-logo-tile { height: 104px; }
.dz-logo-tile img { height: 60px; max-width: 180px; }

/* ---------- Medium mega panels (Brands, Partners): centred under their trigger ---------- */
.dz-mega--md { left: 50%; right: auto; width: min(760px, calc(100vw - 2 * var(--dz-gutter))); transform: translate(-50%, 10px); }
.dz-mega--md > .dz-mega__panel { grid-template-columns: minmax(210px, .9fr) minmax(0, 1.5fr); }
.dz-mega--md .dz-mega__grid, .dz-mega--md .dz-mega__gridwrap .dz-mega__grid { grid-template-columns: 1fr; padding: .75rem; margin: 0; }
.dz-mega--md .dz-mega__gridwrap { padding: .25rem; }
@media (hover: hover) and (min-width: 961px) { .dz-has-mega:hover > .dz-mega.dz-mega--md { transform: translate(-50%, 0); } }
.dz-has-mega:focus-within > .dz-mega.dz-mega--md, .dz-has-mega.is-open > .dz-mega.dz-mega--md { transform: translate(-50%, 0); }
@media (max-width: 960px) {
  .dz-mega--md { left: auto; width: auto; transform: none !important; }
  .dz-mega--md > .dz-mega__panel { display: block; }
}

/* ==========================================================================
   Colour bands: fixed-colour sections (same in light and dark mode) so pages
   have a clear corporate rhythm: black / yellow / cream / white.
   ========================================================================== */
.dz-band--dark, .dz-band--yellow, .dz-band--cream, .dz-band--white { background: var(--dz-bg); color: var(--dz-fg); border-block: 0; }
.dz-band--dark {
  --dz-bg: #0d0d0d; --dz-surface: #171717; --dz-surface-2: #212121; --dz-line: #2e2e2e; --dz-line-strong: #454545;
  --dz-fg: #fafafa; --dz-muted: #b0b0b0; --dz-accent: #ffc457; --dz-accent-ink: #ffc457;
  --dz-glow: rgba(255, 196, 87, .16); --dz-grid-line: rgba(255, 255, 255, .055); --dz-shadow: 0 24px 60px -24px rgba(0, 0, 0, .8);
  color-scheme: dark;
}
.dz-band--yellow {
  --dz-bg: #ffc457; --dz-surface: #ffd37d; --dz-surface-2: #ffdd9a; --dz-line: rgba(13, 13, 13, .22); --dz-line-strong: rgba(13, 13, 13, .45);
  --dz-fg: #0d0d0d; --dz-muted: #2b2b2b; --dz-accent: #0d0d0d; --dz-accent-ink: #0d0d0d;
  --dz-glow: rgba(13, 13, 13, .12); --dz-grid-line: rgba(13, 13, 13, .08); --dz-shadow: 0 24px 60px -24px rgba(13, 13, 13, .35);
  color-scheme: light;
}
.dz-band--cream {
  --dz-bg: #fff6e0; --dz-surface: #ffffff; --dz-surface-2: #fdebc4; --dz-line: #ecd9ac; --dz-line-strong: #d3b974;
  --dz-fg: #0d0d0d; --dz-muted: #43403a; --dz-accent: #ffc457; --dz-accent-ink: #8f5f00;
  --dz-glow: rgba(255, 196, 87, .38); --dz-grid-line: rgba(13, 13, 13, .06); --dz-shadow: 0 24px 60px -24px rgba(120, 80, 0, .3);
  color-scheme: light;
}
.dz-band--white {
  --dz-bg: #ffffff; --dz-surface: #fafafa; --dz-surface-2: #f0f0f0; --dz-line: #e5e5e5; --dz-line-strong: #c9c9c9;
  --dz-fg: #0d0d0d; --dz-muted: #4a4a4a; --dz-accent: #ffc457; --dz-accent-ink: #8f5f00;
  --dz-glow: rgba(255, 196, 87, .28); --dz-grid-line: rgba(13, 13, 13, .06); --dz-shadow: 0 24px 60px -24px rgba(13, 13, 13, .25);
  color-scheme: light;
}
.dz-band--dark h1, .dz-band--dark h2, .dz-band--dark h3, .dz-band--dark h4 { color: var(--dz-fg); }
.dz-band--dark a:not(.wp-block-button__link), .dz-band--yellow a:not(.wp-block-button__link), .dz-band--cream a:not(.wp-block-button__link), .dz-band--white a:not(.wp-block-button__link) { color: inherit; }
.dz-band--dark .dz-card a, .dz-band--yellow .dz-card a, .dz-band--cream .dz-card a { color: var(--dz-fg); }
.dz-band--dark .wp-block-button.is-style-outline .wp-block-button__link,
.dz-band--yellow .wp-block-button.is-style-outline .wp-block-button__link,
.dz-band--cream .wp-block-button.is-style-outline .wp-block-button__link { color: var(--dz-fg); border-color: var(--dz-line-strong); background: transparent; }
.dz-band--yellow .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #0d0d0d; color: #fff; border-color: #0d0d0d; }
.dz-band--yellow .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #0d0d0d; color: #fff; box-shadow: 0 10px 30px -10px rgba(0,0,0,.5); }
.dz-band--yellow .dz-ico { background: #0d0d0d; color: #ffc457; border-color: #0d0d0d; }
.dz-band--yellow .dz-eyebrow::before { background: #0d0d0d; box-shadow: 0 0 0 4px rgba(13,13,13,.15); }
.dz-band--yellow .dz-card:hover .dz-ico { background: #fff; color: #0d0d0d; }
.dz-band--dark .dz-card:hover .dz-ico, .dz-band--cream .dz-card:hover .dz-ico { color: #0d0d0d; }
.dz-band--yellow .dz-card:hover .dz-ico, .dz-band--yellow .dz-svc:hover .dz-ico { box-shadow: 0 0 0 5px rgba(13,13,13,.15); }

/* CTA card on a yellow band is black, with the yellow button */
.dz-band--yellow .dz-cta { --dz-bg: #0d0d0d; --dz-surface: #0d0d0d; --dz-fg: #fafafa; --dz-muted: #b8b8b8; --dz-line: #2e2e2e; --dz-line-strong: #454545; --dz-accent: #ffc457; --dz-accent-ink: #ffc457; --dz-glow: rgba(255,196,87,.18); --dz-grid-line: rgba(255,255,255,.06); background: #0d0d0d; color: #fafafa; border-color: #0d0d0d; }
.dz-band--yellow .dz-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #ffc457; color: #0d0d0d; border-color: #ffc457; }
.dz-band--yellow .dz-cta .wp-block-button.is-style-outline .wp-block-button__link { color: #fafafa; border-color: #454545; }
.dz-band--yellow .dz-cta h2 { color: #fafafa; }

/* About / statement section on yellow */
.dz-band--yellow .dz-intro__text { font-size: var(--wp--preset--font-size--xxl); line-height: 1.3; letter-spacing: -.015em; font-weight: 700; color: #0d0d0d; }
.dz-band--yellow .dz-intro h2 { font-size: var(--wp--preset--font-size--xxxl); }

/* Service blocks live in their own bands */
.dz-section > .dz-svc { padding-block: 0; border-top: 0; }
.dz-svc:first-child { padding-top: 0; }

/* Footer is always black */
.dz-footer.dz-band--dark { border-top: 0; }
.dz-footer .dz-logo-wm--light { display: none !important; }
.dz-footer .dz-logo-wm--dark { display: block !important; }
.dz-footer .wp-block-button.is-style-outline .wp-block-button__link { color: #fafafa; border-color: #454545; }
.dz-footer .dz-footer__social a { color: #fafafa; }
.dz-footer a, .dz-footer h4 { color: inherit; }
.dz-footer h4 { color: var(--dz-muted); }
.dz-footer__tag { color: #fafafa !important; }

/* ==== Revision: no cream. Neutral light grey replaces cream; heroes are black; no gaps between bands ==== */
.dz-band--cream { --dz-bg: #f3f3f3; --dz-surface: #ffffff; --dz-surface-2: #e8e8e8; --dz-line: #dcdcdc; --dz-line-strong: #bdbdbd; --dz-muted: #444444; --dz-accent-ink: #8f5f00; --dz-glow: rgba(255, 196, 87, .3); --dz-shadow: 0 24px 60px -24px rgba(13, 13, 13, .22); }
.wp-site-blocks > *, main.wp-block-group > *, .wp-block-post-content.alignfull > *, .wp-block-post-content.alignfull > * + * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.dz-band--dark.dz-hero::after, .dz-band--dark.dz-pagehero::after { opacity: 1; }

/* ---------- Header: always black ---------- */
.dz-band--dark { --dz-header-bg: rgba(13, 13, 13, .96); }
.dz-header.dz-band--dark { background: transparent; border-bottom: 1px solid #262626; }
.dz-header .dz-logo-wm--light { display: none !important; }
.dz-header .dz-logo-wm--dark { display: block !important; }
.dz-header .dz-nav__trigger a { color: #b0b0b0; }
.dz-header .dz-nav__trigger a:hover, .dz-header .dz-nav__item:focus-within > .dz-nav__trigger a, .dz-header .dz-nav__item.is-open > .dz-nav__trigger a { color: #fafafa; background: #212121; }
.dz-nav__item.is-current > .dz-nav__trigger a { color: #fafafa; }
.dz-toggle { display: none !important; }

/* ---------- About: stats ---------- */
.dz-stat { display: flex; align-items: baseline; gap: 1.25rem; padding: 1.1rem 0; border-bottom: 1px solid var(--dz-line); margin: 0 !important; }
.dz-stat:last-child { border-bottom: 0; }
.dz-stat p { margin: 0 !important; }
.dz-stat__num { font-size: clamp(2.25rem, 1.6rem + 2.4vw, 3.5rem); font-weight: 700; letter-spacing: -.03em; line-height: 1; color: var(--dz-accent); min-width: 5.5ch; }
.dz-stat__label { color: var(--dz-muted); font-size: 1.0625rem; }

/* ---------- About: story columns ---------- */
.dz-story { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.dz-story > * { margin: 0; }
.dz-story__text { display: grid; gap: 1.25rem; font-size: var(--wp--preset--font-size--xl); line-height: 1.5; letter-spacing: -.01em; }
.dz-story__text p { margin: 0; }
.dz-story__text a { text-decoration: underline; text-decoration-color: var(--dz-accent-ink); text-underline-offset: 4px; font-weight: 700; }
@media (max-width: 900px) { .dz-story { grid-template-columns: 1fr; } }

/* ---------- About: timeline ---------- */
.dz-timeline { position: relative; display: grid; margin: 0; }
.dz-tl__item { position: relative; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 2.5rem; padding-bottom: clamp(1.75rem, 1rem + 2vw, 3rem); margin: 0 !important; }
.dz-tl__item::before { content: ""; position: absolute; left: calc(150px + 1.25rem - 1px); top: .85rem; bottom: -.85rem; width: 2px; background: var(--dz-line-strong); }
.dz-tl__item:last-child::before { display: none; }
.dz-tl__item::after { content: ""; position: absolute; left: calc(150px + 1.25rem - 7px); top: .55rem; width: 14px; height: 14px; border-radius: 50%; background: var(--dz-accent); box-shadow: 0 0 0 5px var(--dz-glow); }
.dz-tl__year { margin: 0 !important; font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); font-weight: 700; letter-spacing: -.02em; color: var(--dz-accent-ink); line-height: 1.2; }
.dz-tl__body { display: grid; gap: .35rem; padding-left: 1.25rem; margin: 0 !important; }
.dz-tl__body > * { margin: 0 !important; }
.dz-tl__body h3 { font-size: var(--wp--preset--font-size--xl); }
.dz-tl__body p { color: var(--dz-muted); max-width: 56ch; }
@media (max-width: 700px) {
  .dz-tl__item { grid-template-columns: 1fr; gap: .4rem; padding-left: 1.75rem; }
  .dz-tl__item::before { left: 6px; top: .5rem; }
  .dz-tl__item::after { left: 0; top: .35rem; }
  .dz-tl__body { padding-left: 0; }
}

/* ---------- About: team ---------- */
.dz-team .dz-card { padding: 0; overflow: hidden; gap: 0; }
.dz-team .dz-card > * { margin: 0; }
.dz-team__photo { aspect-ratio: 4 / 4.4; background: var(--dz-surface-2); overflow: hidden; margin: 0 !important; }
.dz-team__photo img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: top center; display: block; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.dz-team .dz-card:hover .dz-team__photo img { transform: scale(1.04); }
.dz-team__info { padding: 1.25rem 1.5rem 1.5rem; display: grid; gap: .25rem; }
.dz-team__info > * { margin: 0 !important; }
.dz-team__info h3 { font-size: var(--wp--preset--font-size--xl); }
.dz-team__role { color: var(--dz-muted); font-weight: 700; font-size: .9rem; letter-spacing: .02em; }
.dz-team__info a { font-size: .9rem; font-weight: 700; display: inline-flex; margin-top: .5rem; text-decoration: underline; text-underline-offset: 4px; }

.dz-pagehero .dz-body-copy { font-size: var(--wp--preset--font-size--lg); line-height: 1.6; margin-top: 1rem; }

.dz-team__photo figure { height: 100%; margin: 0; }

/* ==========================================================================
   Mobile menu — full-screen black sheet, large links, circular toggles,
   staggered entrance, CTA pinned to the bottom
   ========================================================================== */
.dz-nav__mail { display: none; }
@keyframes dz-nav-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (max-width: 960px) {
  .dz-header__bar { height: 68px; }
  :root { --dz-header-h: 68px; }
  .dz-burger { width: 44px; height: 44px; background: #171717; border-color: #2e2e2e; color: #fafafa; }
  body.dz-menu-open .dz-burger { background: #ffc457; border-color: #ffc457; color: #0d0d0d; }

  .dz-nav { position: fixed; left: 0; right: 0; top: var(--dz-header-h); bottom: auto; height: calc(100vh - var(--dz-header-h)); height: calc(100dvh - var(--dz-header-h)); margin: 0; padding: .75rem var(--dz-gutter) calc(2rem + env(safe-area-inset-bottom)); display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; background: #0d0d0d; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; transform: none; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; z-index: 99; }
  .dz-nav::before { content: ""; position: fixed; left: 0; right: 0; top: var(--dz-header-h); height: 320px; pointer-events: none; background: radial-gradient(ellipse 80% 100% at 85% 0%, rgba(255, 196, 87, .16), transparent 70%); }
  .admin-bar .dz-nav { top: calc(var(--dz-header-h) + 46px); height: calc(100dvh - var(--dz-header-h) - 46px); }
  body.dz-menu-open .dz-nav { opacity: 1; visibility: visible; }

  .dz-nav__item { position: relative; border-bottom: 1px solid #242424; opacity: 0; }
  body.dz-menu-open .dz-nav__item, body.dz-menu-open .dz-nav__cta { animation: dz-nav-in .55s cubic-bezier(.2, .7, .2, 1) forwards; }
  body.dz-menu-open .dz-nav__item:nth-child(1) { animation-delay: .04s; }
  body.dz-menu-open .dz-nav__item:nth-child(2) { animation-delay: .09s; }
  body.dz-menu-open .dz-nav__item:nth-child(3) { animation-delay: .14s; }
  body.dz-menu-open .dz-nav__item:nth-child(4) { animation-delay: .19s; }
  body.dz-menu-open .dz-nav__item:nth-child(5) { animation-delay: .24s; }
  body.dz-menu-open .dz-nav__item:nth-child(6) { animation-delay: .29s; }
  body.dz-menu-open .dz-nav__cta { animation-delay: .36s; }

  .dz-header .dz-nav__trigger a { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 1.1rem 0; font-size: clamp(1.6rem, 1.2rem + 2vw, 2rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.1; color: #fafafa; background: none !important; border-radius: 0; }
  .dz-header .dz-nav__trigger a:hover { color: #ffc457; }
  .dz-has-mega > .dz-nav__trigger a::after { width: 38px; height: 38px; flex: none; border-radius: 50%; border: 1px solid #343434; background: #1a1a1a url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fafafa' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") center / 16px no-repeat; -webkit-mask: none; mask: none; transition: transform .3s, background-color .2s, border-color .2s; }
  .dz-has-mega.is-open > .dz-nav__trigger a::after { transform: rotate(180deg); background: #ffc457 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d0d0d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") center / 16px no-repeat; border-color: #ffc457; }
  .dz-has-mega.is-open > .dz-nav__trigger a { color: #ffc457; }

  .dz-mega, .dz-mega--sm, .dz-mega--md, .dz-mega--left { position: static; width: auto; padding: 0; opacity: 1; visibility: visible; transform: none !important; display: none; }
  .dz-has-mega.is-open > .dz-mega { display: block; animation: dz-nav-in .35s cubic-bezier(.2, .7, .2, 1); }
  .dz-has-mega:focus-within:not(.is-open) > .dz-mega { display: none; }
  .dz-mega > .dz-mega__panel, .dz-mega--md > .dz-mega__panel { display: block; background: #141414; border: 1px solid #262626; border-radius: 20px; box-shadow: none; padding: .4rem; margin: 0 0 1.1rem; overflow: hidden; }
  .dz-mega__intro { display: none; }
  .dz-mega__grid, .dz-mega--md .dz-mega__grid, .dz-mega__gridwrap .dz-mega__grid, .dz-mega--md .dz-mega__gridwrap .dz-mega__grid { grid-template-columns: 1fr; gap: 0; padding: 0; margin: 0; }
  .dz-mega--md .dz-mega__gridwrap { padding: 0; }
  .dz-mega__link { padding: .85rem .7rem; border-radius: 14px; gap: .9rem; align-items: center; }
  .dz-mega__link:hover, .dz-mega__link:active { background: #1d1d1d; }
  .dz-mega__link .dz-ico { background: #212121; border-color: #2e2e2e; color: #ffc457; }
  .dz-mega__title, .dz-mega__title a { font-size: 1.0625rem; font-weight: 700; color: #fafafa !important; }
  .dz-mega__desc { font-size: .875rem; line-height: 1.45; color: #9d9d9d; }
  .dz-logo-slot--sm { background: #fff; }

  .dz-nav__cta { display: block; margin-top: auto; padding-top: 2rem; opacity: 0; }
  .dz-nav__cta .wp-block-buttons { margin: 0; }
  .dz-nav__cta .wp-block-button, .dz-nav__cta .wp-block-button__link { width: 100%; text-align: center; }
  .dz-nav__cta .wp-block-button__link { padding: 1.05rem 1.5rem; font-size: 1.0625rem; }
  .dz-nav__mail { display: block; margin: 1.1rem 0 0; text-align: center; font-size: .9rem; color: #8f8f8f; }
  .dz-nav__mail a { color: #fafafa; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
}

html.dz-menu-open, body.dz-menu-open { overflow: hidden !important; overscroll-behavior: none; }
body.dz-menu-open { touch-action: none; }
body.dz-menu-open .dz-nav { touch-action: pan-y; }

/* eyebrow pills removed: tighten the top of headings */
.dz-pagehero .wp-block-column > h1:first-child, .dz-hero .wp-block-column > h1:first-child { margin-top: 0; }
.dz-section-head > h2:first-child { margin-top: 0; }
.dz-mega__intro > h3:first-child { margin-top: 0; }

/* Organization Partners blocks */
.dz-since { margin: 0 !important; font-size: .875rem; font-weight: 700; letter-spacing: .04em; color: var(--dz-muted); }
.dz-svc__head .dz-partner-logo { margin: 0 0 .5rem; }
.dz-svc__head h2 a { text-decoration: none; }
.dz-svc__head h2 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.dz-relevant strong { font-weight: 700; }
