/* ZionDelta Labs site — global base */
/* Brand accent override: canonical ZDL Pty Ltd signal orange. */
:root {
  --zd-signal: #FF6A1A;
  --zd-signal-deep: #D44E00;
  --zd-signal-soft: #FFF0E6;
  /* Heavier section dividers: deepen the hairline tokens so the line between
     sections reads more clearly. Cards keep definition (now haloed too). */
  --zd-hairline: #c3c6cb;
  --zd-hairline-soft: #d7d9dd;
  --zd-ink-hairline: #3a3f47;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--zd-font-ui);
  color: var(--zd-ink);
  background: var(--zd-ink-surface);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
::selection { background: var(--zd-signal); color: #fff; }

/* link hover in nav/footer */
.zd-link { transition: color .15s ease, opacity .15s ease; }
.zd-link:hover { opacity: 1 !important; color: var(--zd-signal) !important; }

.zd-navlink { position: relative; transition: color .15s ease; }
.zd-navlink:hover { color: var(--zd-signal) !important; }

/* generic underline-on-hover for inline anchors */
.zd-inline { text-decoration: none; background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 1px; background-repeat: no-repeat; background-position: 0 100%;
  transition: background-size .25s ease; }
.zd-inline:hover { background-size: 100% 1px; }

/* reveal-on-scroll — pure CSS, fail-open (visible by default; animates only where supported) */
.zd-reveal { opacity: 1; transform: none; }
.zd-reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .zd-reveal { animation: zd-rise both linear; animation-timeline: view(); animation-range: entry 0% entry 38%; }
  }
}
@keyframes zd-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* Level 3 — "Halo": wide-spread, low-opacity atmospheric elevation.
   The card breathes above the canvas rather than clamping onto it. */
:root {
  --zd-elev-3: 0 2px 6px rgba(17,19,22,0.04), 0 18px 40px -12px rgba(17,19,22,0.13), 0 60px 100px -36px rgba(17,19,22,0.22);
  --zd-elev-3-hover: 0 4px 10px rgba(17,19,22,0.05), 0 28px 56px -14px rgba(17,19,22,0.16), 0 80px 120px -40px rgba(17,19,22,0.26);
}

/* resting elevation for floating content cards */
.zd-card-elev { box-shadow: var(--zd-elev-3); transition: border-color .18s ease, box-shadow .25s ease, transform .25s ease; }
.zd-card-elev:hover { border-color: var(--zd-ink) !important; box-shadow: var(--zd-elev-3-hover); transform: translateY(-3px); }
/* dark-surface halo: a soft light glow lifts the card off the ink background */
.zd-card-elev-dark { box-shadow: 0 0 0 1px rgba(255,255,255,.04), 0 18px 40px -12px rgba(0,0,0,.5), 0 40px 90px -30px rgba(120,140,180,.22), 0 0 60px -10px rgba(255,255,255,.06); transition: border-color .18s ease, box-shadow .25s ease, transform .25s ease; }
.zd-card-elev-dark:hover { border-color: rgba(255,255,255,.45) !important; transform: translateY(-3px); }
/* hover border-line only (no resting shadow) */
.zd-hoverline { transition: border-color .18s ease, transform .25s ease; }
.zd-hoverline:hover { border-color: rgba(255,255,255,.45) !important; transform: translateY(-3px); }
.zd-hoverline-ink { transition: border-color .18s ease, transform .25s ease; }
.zd-hoverline-ink:hover { border-color: var(--zd-ink) !important; transform: translateY(-3px); }

/* card hover lift used in plain HTML cards — floats on a halo at rest, lifts higher on hover */
.zd-menu-btn { display: none; }
.zd-navbtn { background: none; border: none; cursor: pointer; padding: 6px; line-height: 0; }.zd-hovercard { box-shadow: var(--zd-elev-3); transition: border-color .18s ease, box-shadow .25s ease, transform .25s ease; }
.zd-hovercard:hover { border-color: var(--zd-ink) !important; box-shadow: var(--zd-elev-3-hover); transform: translateY(-3px); }

/* homepage engine band: keep the image present but behind the cards/text */
.zd-engine-section { isolation: isolate; }
.zd-engine-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(12,14,16,.84) 0%, rgba(12,14,16,.66) 42%, rgba(12,14,16,.48) 70%, rgba(12,14,16,.34) 100%),
    linear-gradient(180deg, rgba(12,14,16,.4) 0%, rgba(12,14,16,.1) 48%, rgba(12,14,16,.52) 100%);
}
.zd-engine-bg {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.zd-engine-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  opacity: 1;
  filter: brightness(1.06) saturate(1) contrast(1.02);
}
.zd-engine-section > .zd-container { z-index: 2; }

/* services page hero: attached field-dashboard image, muted behind copy */
.zd-services-hero { isolation: isolate; min-height: 500px; }
.zd-services-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(12,14,16,.82) 0%, rgba(12,14,16,.62) 38%, rgba(12,14,16,.34) 68%, rgba(12,14,16,.18) 100%),
    linear-gradient(180deg, rgba(12,14,16,.38) 0%, rgba(12,14,16,.08) 48%, rgba(12,14,16,.48) 100%);
}
.zd-services-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.zd-services-hero-bg picture,
.zd-services-hero-bg img {
  display: block;
  width: 100%;
  height: 100%;
}
.zd-services-hero-bg img {
  object-fit: cover;
  object-position: center center;
  opacity: 1;
  filter: brightness(1.06) saturate(1) contrast(1.02);
}
.zd-services-hero .zd-gridfx { z-index: 2; opacity: .58; }
.zd-services-hero > .zd-container { z-index: 3; }

/* services AI search band: dark AI-stack image as a zoomed-out background */
.zd-aio-section { isolation: isolate; min-height: 380px; background: #04080e; }
.zd-aio-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(4,8,14,.14) 0%, rgba(4,8,14,.28) 38%, rgba(4,8,14,.74) 68%, rgba(4,8,14,.92) 100%),
    linear-gradient(180deg, rgba(4,8,14,.28) 0%, rgba(4,8,14,.1) 48%, rgba(4,8,14,.5) 100%);
}
.zd-aio-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.zd-aio-bg,
.zd-aio-bg img {
  display: block;
  width: 100%;
  height: 100%;
}
.zd-aio-bg img {
  position: absolute;
  top: 50%;
  left: 0;
  object-fit: cover;
  object-position: left center;
  width: clamp(900px, 78vw, 1280px);
  height: auto;
  max-width: none;
  transform: translateY(-50%);
  opacity: .82;
  filter: brightness(1.04) saturate(1.04) contrast(1.04);
}
.zd-aio-section > .zd-container { position: relative; z-index: 3; }
.zd-aio-content {
  max-width: 780px;
  margin-left: auto;
}
.zd-aio-cardgrid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.zd-aio-section .zd-aio-card {
  background: rgba(27,30,34,.74) !important;
  border-color: rgba(255,255,255,.14) !important;
  backdrop-filter: blur(2px);
}

/* plans page hero: dark office background, brightened like the services hero */
.zd-plans-hero { isolation: isolate; min-height: 420px; }
.zd-plans-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(12,14,16,.86) 0%, rgba(12,14,16,.66) 38%, rgba(12,14,16,.34) 68%, rgba(12,14,16,.18) 100%),
    linear-gradient(180deg, rgba(12,14,16,.38) 0%, rgba(12,14,16,.08) 48%, rgba(12,14,16,.48) 100%);
}
.zd-plans-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.zd-plans-hero-bg,
.zd-plans-hero-bg img {
  display: block;
  width: 100%;
  height: 100%;
}
.zd-plans-hero-bg img {
  object-fit: cover;
  object-position: center right;
  opacity: 1;
  filter: brightness(1.06) saturate(1) contrast(1.02);
}
.zd-plans-hero .zd-gridfx { z-index: 2; opacity: .5; }
.zd-plans-hero > .zd-container { z-index: 3; }

/* homepage report band: report art becomes the section background */
.zd-report-section { isolation: isolate; min-height: 500px; }
.zd-report-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(12,14,16,.9) 0%, rgba(12,14,16,.78) 34%, rgba(12,14,16,.38) 66%, rgba(12,14,16,.18) 100%),
    linear-gradient(180deg, rgba(12,14,16,.28) 0%, rgba(12,14,16,.04) 48%, rgba(12,14,16,.52) 100%);
}
.zd-report-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.zd-report-bg,
.zd-report-bg img {
  display: block;
  width: 100%;
  height: 100%;
}
.zd-report-bg img {
  object-fit: cover;
  object-position: right center;
  opacity: 1;
  filter: brightness(1.06) saturate(1) contrast(1.02);
}
.zd-report-section .zd-gridfx { z-index: 2; opacity: .44; }
.zd-report-section > .zd-container { z-index: 3; }
.zd-report-copy { max-width: 500px; }

/* our work page hero: dark dashboard image softened behind the copy */
.zd-work-hero { isolation: isolate; min-height: 420px; background: #04080e; }
.zd-work-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(4,8,14,.84) 0%, rgba(4,8,14,.58) 35%, rgba(4,8,14,.2) 62%, rgba(4,8,14,.08) 100%),
    linear-gradient(180deg, rgba(4,8,14,.3) 0%, rgba(4,8,14,.08) 48%, rgba(4,8,14,.44) 100%);
}
.zd-work-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.zd-work-hero-bg,
.zd-work-hero-bg img {
  display: block;
  width: 100%;
  height: 100%;
}
.zd-work-hero-bg img {
  position: absolute;
  top: 50%;
  right: 0;
  object-fit: cover;
  object-position: right center;
  width: clamp(900px, 78vw, 1280px);
  height: auto;
  max-width: none;
  transform: translateY(-50%);
  opacity: .72;
  filter: brightness(1.18) saturate(1.05) contrast(1.04);
}
.zd-work-hero .zd-gridfx { z-index: 2; opacity: .45; }
.zd-work-hero > .zd-container { z-index: 3; }

/* about page hero: rack image with a clearer, right-anchored treatment */
.zd-about-hero { isolation: isolate; min-height: 420px; background: #04080e; }
.zd-about-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(4,8,14,.8) 0%, rgba(4,8,14,.48) 35%, rgba(4,8,14,.12) 62%, rgba(4,8,14,.04) 100%),
    linear-gradient(180deg, rgba(4,8,14,.24) 0%, rgba(4,8,14,.04) 48%, rgba(4,8,14,.34) 100%);
}
.zd-about-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.zd-about-hero-bg,
.zd-about-hero-bg img {
  display: block;
  width: 100%;
  height: 100%;
}
.zd-about-hero-bg img {
  position: absolute;
  top: 50%;
  right: 0;
  object-fit: cover;
  object-position: right center;
  width: clamp(900px, 78vw, 1280px);
  height: auto;
  max-width: none;
  transform: translateY(-50%);
  opacity: .88;
  filter: brightness(1.22) saturate(1.08) contrast(1.06);
}
.zd-about-hero .zd-gridfx { z-index: 2; opacity: .45; }
.zd-about-hero > .zd-container { z-index: 3; }

/* about story: infrastructure image as a section background */
.zd-about-story-section {
  position: relative;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid var(--zd-hairline);
  isolation: isolate;
}
.zd-about-story-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: image-set(
    url("../uploads/about-story-infrastructure-20260627.webp") type("image/webp"),
    url("../uploads/about-story-infrastructure-20260627.jpg") type("image/jpeg")
  );
  background-repeat: no-repeat;
  background-position: left center;
  background-size: cover;
  opacity: .98;
  filter: brightness(1.03) saturate(1.05) contrast(1.02);
  z-index: -2;
}
.zd-about-story-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.38) 50%, rgba(255,255,255,.94) 100%),
    linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 44%, rgba(255,255,255,.12) 100%);
  z-index: -1;
}
.zd-about-story-grid {
  min-height: 520px;
  padding: 88px 32px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
}
.zd-about-story-copy {
  justify-self: end;
  max-width: 520px;
  text-align: right;
}
.zd-about-story-copy p {
  margin-left: auto !important;
}
/* contact page: attached light server artwork as the page background */
.zd-contact-main {
  isolation: isolate;
  min-height: calc(100vh - 73px);
}
.zd-contact-main::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: image-set(
    url("../uploads/contact-page-server-bg-20260627.webp") type("image/webp"),
    url("../uploads/contact-page-server-bg-20260627.jpg") type("image/jpeg")
  );
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  opacity: .94;
  filter: brightness(1.02) saturate(1.02) contrast(1.02);
}
.zd-contact-main::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.84) 0%, rgba(255,255,255,.58) 39%, rgba(255,255,255,.24) 68%, rgba(255,255,255,.04) 100%),
    linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.24) 46%, rgba(255,255,255,.55) 100%);
}
.zd-contact-main > .zd-container {
  position: relative;
  z-index: 2;
}
.zd-contact-grid {
  grid-template-areas:
    "intro form"
    "details form";
}
.zd-contact-intro {
  grid-area: intro;
}
#form-col {
  grid-area: form;
}
.zd-contact-details {
  grid-area: details;
}
/* plans add-ons: light section background image */
.zd-addons-section { isolation: isolate; min-height: 390px; }
.zd-addons-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.66) 0%, rgba(255,255,255,.38) 42%, rgba(255,255,255,.08) 70%, rgba(255,255,255,0) 100%),
    linear-gradient(180deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,0) 50%, rgba(255,255,255,.28) 100%);
}
.zd-addons-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.zd-addons-bg,
.zd-addons-bg img {
  display: block;
  width: 100%;
  height: 100%;
}
.zd-addons-bg img {
  object-fit: cover;
  object-position: right center;
  opacity: 1;
  filter: brightness(.86) saturate(1.12) contrast(1.32);
}
.zd-addons-section > .zd-container { position: relative; z-index: 3; }
.zd-addons-section .zd-addons-card {
  background: rgba(244,245,246,.64) !important;
  border-color: rgba(17,19,22,.16) !important;
  box-shadow: 0 22px 60px rgba(17,19,22,.16);
}

/* responsive helpers */
.zd-container { max-width: 1280px; margin: 0 auto; padding-left: 32px; padding-right: 32px; }
@media (max-width: 900px) {
  .zd-container { padding-left: 20px; padding-right: 20px; }
  .zd-grid-2, .zd-grid-3, .zd-grid-4 { grid-template-columns: 1fr !important; }
  .zd-hero-grid { grid-template-columns: 1fr !important; }
  .zd-hero-bg img { object-fit: cover !important; object-position: 64% 42% !important; }
  .zd-hero-bg::after { background: linear-gradient(180deg, rgba(17,19,22,.84) 0%, rgba(17,19,22,.62) 48%, rgba(17,19,22,.9) 100%) !important; }
  .zd-hero-grid--solo { padding-top: 64px !important; padding-bottom: 72px !important; }
  .zd-service-row > * { order: initial !important; }
  .zd-hide-mobile { display: none !important; }
  .zd-menu-btn { display: inline-flex !important; }
  h1.zd-display { font-size: 13vw !important; }
  .zd-stagger__row { margin-left: 0 !important; width: 100% !important; }
  .zd-flowarrow { display: none !important; }
  .zd-orbit { aspect-ratio: auto !important; height: auto !important; max-width: 540px !important; display: flex !important; flex-direction: column; gap: 1px; background: var(--zd-ink-hairline); border: 1px solid var(--zd-ink-hairline); }
  .zd-orbit__svg { display: none !important; }
  .zd-orbit__hub, .zd-orbit__node { position: static !important; left: auto !important; top: auto !important; transform: none !important; width: auto !important; aspect-ratio: auto !important; border-radius: 0 !important; box-shadow: none !important; border: 0 !important; text-align: left !important; padding: 24px !important; background: var(--zd-ink-surface) !important; }
  .zd-orbit__hub { background: var(--zd-ink-elevated) !important; }
  .zd-why-grid { grid-template-columns: 1fr !important; grid-auto-rows: auto !important; }
  .zd-featrow { grid-template-columns: 1fr !important; gap: 12px !important; }
  .zd-process-timeline > div:first-child { display: none !important; }
  .zd-process-steps, .zd-engine-cardgrid { grid-template-columns: 1fr !important; gap: 24px !important; }
  .zd-engine-cardgrid > .zd-hovercard { transform: none !important; min-height: auto !important; }
  .zd-engine-section::before {
    background:
      linear-gradient(90deg, rgba(12,14,16,.8) 0%, rgba(12,14,16,.6) 56%, rgba(12,14,16,.34) 100%),
      linear-gradient(180deg, rgba(12,14,16,.42) 0%, rgba(12,14,16,.1) 42%, rgba(12,14,16,.5) 100%);
  }
  .zd-engine-bg img { object-position: 62% center; filter: brightness(1.08) saturate(1) contrast(1.02); }
  .zd-services-hero { min-height: 520px; }
  .zd-services-hero::before {
    background:
      linear-gradient(90deg, rgba(12,14,16,.8) 0%, rgba(12,14,16,.6) 56%, rgba(12,14,16,.3) 100%),
      linear-gradient(180deg, rgba(12,14,16,.42) 0%, rgba(12,14,16,.1) 42%, rgba(12,14,16,.5) 100%);
  }
  .zd-services-hero-bg img { object-position: 62% center; opacity: 1; filter: brightness(1.08) saturate(1) contrast(1.02); }
  .zd-aio-section { min-height: 560px; }
  .zd-aio-section::before {
    background:
      linear-gradient(180deg, rgba(4,8,14,.66) 0%, rgba(4,8,14,.42) 48%, rgba(4,8,14,.84) 100%),
      linear-gradient(90deg, rgba(4,8,14,.18) 0%, rgba(4,8,14,.58) 100%);
  }
  .zd-aio-content { max-width: none; margin-left: 0; }
  .zd-aio-bg img {
    position: static;
    width: 100%;
    height: 100%;
    transform: none;
    object-fit: cover;
    object-position: left center;
    opacity: .86;
    filter: brightness(1.04) saturate(1.04) contrast(1.04);
  }
  .zd-aio-section .zd-aio-card { background: rgba(27,30,34,.76) !important; }
  .zd-plans-hero { min-height: 470px; }
  .zd-plans-hero::before {
    background:
      linear-gradient(90deg, rgba(12,14,16,.82) 0%, rgba(12,14,16,.62) 56%, rgba(12,14,16,.32) 100%),
      linear-gradient(180deg, rgba(12,14,16,.46) 0%, rgba(12,14,16,.14) 42%, rgba(12,14,16,.54) 100%);
  }
  .zd-plans-hero-bg img { object-position: 64% center; opacity: 1; filter: brightness(1.08) saturate(1) contrast(1.02); }
  .zd-report-section { min-height: 560px; }
  .zd-report-section::before {
    background:
      linear-gradient(90deg, rgba(12,14,16,.86) 0%, rgba(12,14,16,.72) 54%, rgba(12,14,16,.4) 100%),
      linear-gradient(180deg, rgba(12,14,16,.52) 0%, rgba(12,14,16,.2) 44%, rgba(12,14,16,.62) 100%);
  }
  .zd-report-bg img { object-position: right center; opacity: 1; filter: brightness(1.08) saturate(1) contrast(1.02); }
  .zd-work-hero { min-height: 470px; }
  .zd-work-hero::before {
    background:
      linear-gradient(180deg, rgba(4,8,14,.72) 0%, rgba(4,8,14,.42) 48%, rgba(4,8,14,.76) 100%),
      linear-gradient(90deg, rgba(4,8,14,.54) 0%, rgba(4,8,14,.08) 100%);
  }
  .zd-work-hero-bg img {
    position: static;
    width: 100%;
    height: 100%;
    transform: none;
    object-fit: cover;
    object-position: right center;
    opacity: .94;
    filter: brightness(1.24) saturate(1.08) contrast(1.08);
  }
  .zd-work-hero .zd-gridfx { opacity: .28; }
  .zd-about-hero { min-height: 470px; }
  .zd-about-hero::before {
    background:
      linear-gradient(180deg, rgba(4,8,14,.68) 0%, rgba(4,8,14,.36) 48%, rgba(4,8,14,.72) 100%),
      linear-gradient(90deg, rgba(4,8,14,.48) 0%, rgba(4,8,14,.06) 100%);
  }
  .zd-about-hero-bg img {
    position: static;
    width: 100%;
    height: 100%;
    transform: none;
    object-fit: cover;
    object-position: right center;
    opacity: .94;
    filter: brightness(1.26) saturate(1.08) contrast(1.08);
  }
  .zd-about-hero .zd-gridfx { opacity: .28; }
  .zd-about-story-grid {
    padding: 64px 20px;
    min-height: 800px;
    justify-content: flex-end;
    align-items: flex-end;
  }
  .zd-about-story-section::before {
    background-size: 190% auto;
    background-position: 10% top;
    opacity: .96;
  }
  .zd-about-story-section::after {
    background:
      linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.16) 34%, rgba(255,255,255,.86) 55%, #fff 100%),
      linear-gradient(90deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.20) 45%, rgba(255,255,255,.86) 100%);
  }
  .zd-about-story-copy {
    max-width: none;
  }
  .zd-contact-main::before {
    background-position: 66% center;
    background-size: cover;
    opacity: .9;
  }
  .zd-contact-main::after {
    background:
      linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.42) 36%, rgba(255,255,255,.82) 100%),
      linear-gradient(90deg, rgba(255,255,255,.62) 0%, rgba(255,255,255,.18) 100%);
  }
  .zd-contact-grid {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "intro"
      "form"
      "details";
    row-gap: 36px !important;
  }
  .zd-addons-section::before {
    background:
      linear-gradient(180deg, rgba(255,255,255,.54) 0%, rgba(255,255,255,.18) 48%, rgba(255,255,255,.58) 100%),
      linear-gradient(90deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,.10) 100%);
  }
  .zd-addons-bg img { object-position: 68% center; filter: brightness(.88) saturate(1.1) contrast(1.24); }
  .zd-addons-section .zd-addons-card { background: rgba(244,245,246,.72) !important; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .zd-grid-4 { grid-template-columns: repeat(2,1fr) !important; }
}

/* slim scrolling stat ticker */
.zd-marquee { position: relative; overflow: hidden; }
.zd-marquee::before, .zd-marquee::after { content: ""; position: absolute; top: 0; bottom: 0; width: 90px; z-index: 2; pointer-events: none; }
.zd-marquee::before { left: 0; background: linear-gradient(90deg, #fff, transparent); }
.zd-marquee::after { right: 0; background: linear-gradient(270deg, #fff, transparent); }
.zd-marquee-track { display: flex; align-items: center; width: max-content; animation: zd-scroll 36s linear infinite; }
.zd-marquee:hover .zd-marquee-track { animation-play-state: paused; }
@keyframes zd-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .zd-marquee-track { animation: none; } }

/* editorial feature list (homepage why section) */
.zd-featrow { display: grid; grid-template-columns: 340px 1fr; gap: 48px; align-items: baseline; padding: 30px 0; border-top: 1px solid var(--zd-ink-hairline); transition: padding-left .25s ease; }
.zd-featrow:last-of-type { border-bottom: 1px solid var(--zd-ink-hairline); }
.zd-featrow h3 { transition: color .2s ease; }
.zd-featrow:hover { padding-left: 8px; }
.zd-featrow:hover h3 { color: var(--zd-signal); }
.zd-featlist--light .zd-featrow { border-top-color: var(--zd-hairline); }
.zd-featlist--light .zd-featrow:last-of-type { border-bottom-color: var(--zd-hairline); }
