/* Homepage V6 (D-025): implements verification/homepage-swarm/PLAN.md (8-lens panel review).
   Loaded on / after home-v5.css. Order: hero → proof band → stories → managed → commitment → platform → integrations → FAQ → CTA. */

/* ── Shared ─────────────────────────────────────────────────────────── */
.z3-head { margin-bottom: 56px; }
.z3-btn--outline { background: transparent; color: var(--z3-act); box-shadow: inset 0 0 0 1px var(--z3-act); }
.z3-btn--outline:hover { background: var(--z3-act); color: #fff; }
.z6-label { margin: 0 0 20px; font: 500 12px/1.3 var(--z-font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--z3-body); }
.z6-claims { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.z6-claims li { display: flex; align-items: center; gap: 8px; font: 400 14px/1.4 var(--z-font-body); color: var(--z3-body); }
.z6-claims li::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: var(--z3-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 8.5 2.5 2.5 4.5-5' fill='none' stroke='%23afecdb' stroke-width='1.8' stroke-linecap='square'/%3E%3C/svg%3E") center/12px no-repeat; }
.z3-link { padding-block: 10px; min-height: 44px; }

/* ── Announcement bar: calm on the homepage ─────────────────────────── */
body:has(.z3-hero) .banner_component { background: var(--z3-warm) !important; color: #0c0a08 !important; border-bottom: 1px solid var(--z3-rule); }
body:has(.z3-hero) .banner_component * { color: #0c0a08 !important; }
@media (max-width: 767px) { body:has(.z3-hero) .banner_component { display: none !important; } }

/* ── Hero ───────────────────────────────────────────────────────────── */
.z3-hero h1 { font-size: clamp(3rem, 1.6rem + 3.6vw, 4.5rem) !important; line-height: 1.04 !important; letter-spacing: -.02em; max-width: 11ch; }
.z3-hero__lead { margin-top: 24px; max-width: 46ch; }
.z3-hero__form { margin-top: 36px; }
.z3-hero__note { margin-top: 18px; }
.z3-hero__note img { width: 96px; }
.z3-hero__card { width: 360px; bottom: 64px; }
.z3-hero__steps strong { font-size: 15px; }
.z3-hero__steps small { font-size: 13px; }
@media (max-width: 1240px) and (min-width: 981px) { .z3-hero__card { width: 330px; bottom: 32px; } }
@media (max-width: 767px) {
  .z3-hero h1 { font-size: 2.5rem !important; line-height: 1.1 !important; max-width: none; }
  .z3-hero__copy { padding-top: 32px; }
  .z6-claims { flex-direction: column; gap: 8px; }
  .z3-hero__photo { aspect-ratio: 4 / 3; object-position: 55% 25%; }
  .z3-hero__card { margin-top: -32px; }
  .z3-hero__steps li:not(:last-child) { display: none; }
}

/* ── Mobile nav: a persistent demo button ──────────────────────────── */
@media (max-width: 991px) {
  body:has(.z3-hero) .navbar_button-wrapper-inside { display: flex !important; align-items: center; }
  body:has(.z3-hero) .navbar_button-wrapper-inside > a:not([href="/book-call"]) { display: none !important; }
  body:has(.z3-hero) .navbar_button-wrapper-inside > a[href="/book-call"] { display: inline-flex !important; align-items: center; height: 36px; padding: 0 14px !important; margin-right: 8px; font-size: 14px !important; transition: opacity .2s, visibility .2s; }
  body:has(.z3-hero).z6-cta-in-view .navbar_button-wrapper-inside > a[href="/book-call"] { opacity: 0; visibility: hidden; }
}

/* ── Proof band: logos + figures on warm ───────────────────────────── */
body:has(.z3-hero) .section_component:has(.z-logo-bank) .section-padding { padding-top: 32px !important; padding-bottom: 0 !important; }
body:has(.z3-hero) .section_component:has(.z-logo-bank) .z-logo-bank__marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 64px, #000 calc(100% - 64px), transparent); mask-image: linear-gradient(90deg, transparent, #000 64px, #000 calc(100% - 64px), transparent); }
body:has(.z3-hero) .z-logo-bank__item img { filter: grayscale(1); opacity: .85; }
.z6-figures { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); box-sizing: border-box; width: 100%; max-width: 84rem; margin: 32px auto 0; padding: 0; border-top: 1px solid var(--z3-rule); }
.z6-figures > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 10px; padding: 40px 24px 48px; }
.z6-figures > div:first-child { padding-left: 0; }
.z6-figures > div + div { border-left: 1px solid var(--z3-rule); }
.z6-figures dd { margin: 0; font: 400 clamp(2.75rem, 1.6rem + 2.6vw, 4rem)/1 var(--z-font-heading); letter-spacing: -.025em; color: #0c0a08; font-variant-numeric: tabular-nums; }
.z6-figures dt { font: 400 15px/1.4 var(--z-font-body); color: var(--z3-body); }

/* ── Customer stories: one carousel, quotes on the cards ───────────── */
body:has(.z3-hero) .section_component:has(.customer-industry-component) { background: #fff; }
.z6-stories__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px var(--z3-gap); align-items: end; }
.z6-stories__main { grid-column: 1 / span 7; }
.z6-stories__main h2 { margin: 0; max-width: 16ch; text-wrap: balance; }
.z6-stories__aside { grid-column: 8 / -1; display: flex !important; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 16px 24px; }
.z6-stories__aside .margin-bottom { display: none; }
.z6-stories__aside .z-story-nav { margin: 0; }
body:has(.z3-hero) .section_component:has(.customer-industry-component) .spacer-component { height: 48px !important; }
body:has(.z3-hero) .customer-industry-component .swiper-slide { width: 400px !important; }
.z6-hide { display: none !important; }
body:has(.z3-hero) .customer-industry-container .tag.z6-chip--switch { background: var(--z3-mint) !important; color: #0c0a08 !important; font: 500 13px/1.2 var(--z-font-body) !important; padding: 6px 10px !important; }
body:has(.z3-hero) .customer-industry-info.z6-story__info { display: flex !important; flex-direction: column; align-items: flex-start; gap: 10px; min-height: 0; margin-top: 20px; color: inherit; text-decoration: none; }
.z6-story__q { font: 400 20px/1.35 var(--z-font-heading); letter-spacing: -.005em; color: #0c0a08; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.z6-story__who { font: 400 14px/1.4 var(--z-font-body); color: var(--z3-body); }
@media (max-width: 980px) {
  .z6-stories__main, .z6-stories__aside { grid-column: 1 / -1; }
  .z6-stories__aside { justify-content: space-between; }
}
@media (max-width: 600px) {
  body:has(.z3-hero) .customer-industry-component .swiper-slide { width: 85vw !important; }
  .z6-figures { grid-template-columns: 1fr 1fr; margin-top: 24px; }
  .z6-figures > div, .z6-figures > div:first-child { padding: 24px 16px 28px 0; }
  .z6-figures > div + div { border-left: 0; }
  .z6-figures > div:nth-child(even) { padding-left: 20px; border-left: 1px solid var(--z3-rule); }
  .z6-figures > div:nth-child(n+3) { border-top: 1px solid var(--z3-rule); }
  .z6-figures dd { font-size: 2.5rem; }
}

/* ── Managed service: the team at full width, then getting started ─── */
.z5-managed .z3-head { margin-bottom: 56px; }
.z5-team { margin: 0 calc(50% - 50vw); }
.z5-team > img { aspect-ratio: 3 / 1; object-position: 50% 72%; }
.z5-team__card { left: max(var(--z3-g), calc(50vw - 42rem)); bottom: 0; transform: translateY(50%); max-width: 440px; }
.z6-steps { margin-top: 120px; }
.z6-steps__k { margin: 0 0 24px; font: 500 12px/1.3 var(--z-font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--z3-mint); }
.z6-steps ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--z3-gap); }
.z6-steps li { padding: 28px 24px 0 0; border-top: 1px solid #afecdb66; }
.z6-steps__n { display: block; font: 400 56px/1 var(--z-font-heading); color: var(--z3-mint); letter-spacing: -.02em; }
.z6-steps h3 { margin: 20px 0 10px; color: #fff; font-size: 22px !important; }
.z6-steps p { margin: 0; max-width: 24rem; color: #cfe3dc !important; }
.z6-steps .z3-link { margin-top: 32px; }
@media (max-width: 980px) {
  .z5-team > img { aspect-ratio: 4 / 3; object-position: 50% 62%; }
  .z5-team__card { position: relative; left: auto; transform: none; margin: -24px var(--z3-g) 0; max-width: none; }
  .z6-steps { margin-top: 48px; }
  .z6-steps ol { grid-template-columns: 1fr; gap: 0; }
  .z6-steps li { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 16px; padding: 24px 0; }
  .z6-steps__n { grid-row: span 2; font-size: 40px; }
  .z6-steps h3 { margin: 4px 0 6px; }
}

/* ── Zamp Commitment: white, real hierarchy, a CTA ─────────────────── */
.z5-commit { background: #fff; }
.z5-commit__statement { max-width: 30rem; font: 400 20px/1.5 var(--z-font-body) !important; color: var(--z3-body); letter-spacing: 0; margin-top: 20px; }
.z5-commit__copy .z3-actions { margin-top: 32px; }
.z5-seal { padding: 32px 32px 28px; }
.z5-seal li { align-items: flex-start; font: inherit; padding: 18px 0; }
.z5-seal li i { margin-top: 2px; }
.z5-seal li b { display: block; font: 400 24px/1.2 var(--z-font-heading); letter-spacing: -.01em; color: #fff; }
.z5-seal li span { display: block; margin-top: 6px; font: 400 14px/1.5 var(--z-font-body); color: #cfe3dc; }

/* ── Platform: five flat cards ──────────────────────────────────────── */
.z4-feat .z4-art::before, .z4-feat .z4-art::after { display: none; }
.z4-feat .z4-art { margin: auto 0 0 !important; background: #fafaf9; border-top: 1px solid var(--z3-rule); }
.z4-feat .z3-feat__item--lg .z4-art, .z4-feat .z3-feat__item--md .z4-art { height: 400px; padding: 32px 40px; }
.z4-feat .z3-feat__item--sm .z4-art { height: 290px; padding: 24px; }
.z4-feat .z3-feat__copy, .z4-feat .z3-feat__item--lg .z3-feat__copy, .z4-feat .z3-feat__item--md .z3-feat__copy { padding: 32px 32px 28px; }
.z4-feat .z3-feat__copy h3 { font-size: 26px !important; line-height: 1.2 !important; }
.z6-more { display: inline-flex; gap: 6px; margin-top: 16px; font: 500 15px/1.4 var(--z-font-body); color: #0c0a08; text-decoration: underline; text-underline-offset: 5px; }
.z6-more span { transition: transform .2s; }
.z3-feat__card:hover .z6-more span { transform: translateX(3px); }
.z6-feat-cta { display: none; }
@media (max-width: 767px) {
  .z4-feat .z3-feat__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--z3-g); gap: 12px; margin: 0 calc(-1 * var(--z3-g)); padding: 0 var(--z3-g) 8px; scrollbar-width: none; }
  .z4-feat .z3-feat__grid::-webkit-scrollbar { display: none; }
  .z4-feat .z3-feat__item { flex: 0 0 85%; scroll-snap-align: start; }
  .z4-feat .z4-art, .z4-feat .z3-feat__item--lg .z4-art, .z4-feat .z3-feat__item--md .z4-art, .z4-feat .z3-feat__item--sm .z4-art { height: auto; min-height: 300px; padding: 24px 16px; }
  .z4-feat .z3-feat__copy h3 { font-size: 22px !important; }
  .z6-feat-cta { display: block; margin-top: 24px; }
  .z6-feat-cta .z3-btn { width: 100%; height: 56px; }
}

/* ── Integrations: titles + links, mobile trim ─────────────────────── */
.z3-points h3 { font-size: 22px !important; }
.z3-points .z3-link { margin-top: 8px; }
.z6-tile-more { display: none; }
.z6-tile-more .z3-hub__tile { background: var(--z3-green); color: #fff; }
.z6-tile-more b { font: 400 30px/1 var(--z-font-heading); color: var(--z3-mint); }
.z6-tile-more span { color: #fff !important; }
@media (max-width: 767px) {
  .z3-hub__tiles li:nth-child(n+8):not(.z6-tile-more) { display: none; }
  .z6-tile-more { display: block; }
  .z3-hub__returns li:nth-child(n+4) { display: none; }
  .z3-hub__feed { height: 150px; }
}

/* ── FAQ ────────────────────────────────────────────────────────────── */
body:has(.z3-hero) .section_component:has(.faq_component) { background: var(--z3-warm); }
body:has(.z3-hero) .section_component:has(.faq_component) h2 { font-size: 40px !important; }
body:has(.z3-hero) .section_component:has(.faq_component) a[href^="tel:"], body:has(.z3-hero) .section_component:has(.faq_component) a[href^="mailto:"] { white-space: nowrap; }
@media (min-width: 981px) { body:has(.z3-hero) .section_component:has(.faq_component) .w-layout-grid > :first-child { position: sticky; top: 120px; align-self: start; } }

/* ── Closing CTA: deep green, separate from the black footer ───────── */
.z6-cta { position: relative; padding: 96px 0 88px; }
.z6-cta::before { content: ""; position: absolute; z-index: -1; inset: 0 calc(50% - 50vw); background: var(--z3-green); }
body:has(.z3-hero) .padding-top.padding-xhuge:has(> .z6-cta) { padding-top: 0 !important; position: relative; z-index: 0; }
.z6-cta .cta_title::before { display: none !important; }
.z6-cta .max-width-large { display: block !important; max-width: 40rem !important; }
.z6-cta .cta_title { max-width: 14ch; }
.z6-cta__lead { margin: 20px 0 0; max-width: 34rem; font: 400 18px/1.55 var(--z-font-body); color: #cfe3dc; }
.z6-cta .footer-form-container { margin-top: 32px !important; max-width: 32.5rem !important; }
.z6-cta .cta_form .button { background: #fff !important; color: #0c0a08 !important; }
.z6-claims--dark li { color: #ffffffbf; }
.z6-cta__phone { margin: 20px 0 0; font: 400 14px/1.4 var(--z-font-body); color: #ffffffbf; }
.z6-cta__phone a { color: #fff; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
body:has(.z6-cta) .footer_component .padding-top.padding-xhuge ~ * { position: relative; }

/* ── Round 2 (verification/homepage-swarm/ROUND2.md) ───────────────── */
/* R8 one gutter: captured wrappers use the same gutter as the authored sections. */
body:has(.z3-hero) .padding-global { padding-left: var(--z3-g) !important; padding-right: var(--z3-g) !important; }
/* R1 plain stroke ticks; first claim links to the Commitment. */
.z6-claims li::before { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8.5 3 3 7-7.5' fill='none' stroke='%23183e3d' stroke-width='1.6' stroke-linecap='square'/%3E%3C/svg%3E") center/14px no-repeat; flex-basis: 14px; width: 14px; height: 14px; }
.z6-claims--dark li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8.5 3 3 7-7.5' fill='none' stroke='%23afecdb' stroke-width='1.6' stroke-linecap='square'/%3E%3C/svg%3E"); }
.z6-claims a { color: inherit; text-decoration: none; }
.z6-claims a:hover { text-decoration: underline; text-underline-offset: 4px; }
html { scroll-behavior: smooth; }
#commitment { scroll-margin-top: 80px; }
/* R6 G2 in the neutral palette. */
.z6-g2 { display: flex; align-items: center; gap: 10px; font: 400 14px/1.4 var(--z-font-body); color: var(--z3-body); }
.z6-g2 img { width: 96px !important; filter: grayscale(1) brightness(.2); }
/* R4 names weigh more than titles. */
.z6-story__who b { font-weight: 500; color: #0c0a08; }
/* R3 mobile: the portrait fills the slide. */
@media (max-width: 600px) {
  body:has(.z3-hero) .customer-industry-component .swiper-slide { width: calc(100vw - 58px) !important; }
  body:has(.z3-hero) .customer-industry-component .customer-industry-image { width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; }
  body:has(.z3-hero) .customer-industry-component .customer-industry-container { width: 100% !important; }
}
/* R5 Commitment: top-aligned, 6/5 columns, stack below 1200px. */
.z5-commit__grid { align-items: start; }
.z5-commit__copy { grid-column: 1 / span 6; }
.z5-seal { grid-column: 8 / -1; min-width: 400px; }
.z5-seal__mark { justify-content: flex-start; }
@media (max-width: 1200px) { .z5-commit__copy, .z5-seal { grid-column: 1 / -1; } .z5-seal { min-width: 0; max-width: 560px; } }
/* R7 platform: one white surface per card. */
.z4-feat .z4-art { background: transparent; }
.z4-notice__body { margin: 0; font: 400 13px/1.5 var(--z-font-body); color: var(--z3-body); max-width: 30ch; }
@media (max-width: 767px) { .z4-feat .z3-head .z3-actions { display: none; } }
/* R9 tap targets. */
@media (max-width: 991px) { body:has(.z3-hero) .navbar_button-wrapper-inside > a[href="/book-call"] { position: relative; } body:has(.z3-hero) .navbar_button-wrapper-inside > a[href="/book-call"]::after { content: ""; position: absolute; inset: -4px -2px; } }
/* R11 integrations fit. */
@media (max-width: 1100px) { .z3-hub__feed li small { display: none; } }
@media (max-width: 767px) { .z3-hub__wires { height: 28px; } }
/* R12 FAQ: a quiet demo button under the contact line. */
.z6-faq-cta { margin-top: 24px; height: 48px; }
@media (max-width: 767px) { .z6-faq-cta { display: none !important; } }
/* R2 closing CTA: copy left, the team right. */
@media (min-width: 980px) {
  .z6-cta { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: center; }
  .z6-cta__copy { min-width: 0; }
}
.z6-cta__photo { position: relative; margin: 0; }
.z6-cta__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 40% 55%; }
.z6-cta__photo figcaption { position: absolute; left: 16px; bottom: 16px; padding: 8px 12px; background: #fff; font: 500 14px/1.2 var(--z-font-body); color: #0c0a08; }
@media (max-width: 979px) { .z6-cta__photo { display: none; } }
body:has(.z6-cta) .footer_component .padding-top.padding-xhuge:has(> .z6-cta) + * { margin-top: 0; }
/* Closing CTA → footer: 64px of black before the footer rule (was 112px). */
body:has(.z6-cta) .padding-top.padding-xhuge:has(> .z6-cta) + .padding-bottom > .padding-vertical.padding-xhuge:first-child { padding-top: 64px !important; }
