/* Homepage V8 (D-027). Loaded on / after home-v7.css.
   Logo bar only (no figures row), compact Commitment proof band above a compact, photographic managed section,
   and the site's standard closing CTA. */

/* ── Logo bar on its own: even padding top and bottom ─────────────── */
body:has(.z3-hero) .section_component:has(.z-logo-bank) .section-padding { padding-top: 40px !important; padding-bottom: 40px !important; }
@media (max-width: 767px) { body:has(.z3-hero) .section_component:has(.z-logo-bank) .section-padding { padding-top: 28px !important; padding-bottom: 28px !important; } }

/* ── The Zamp Commitment: compact proof band ───────────────────────── */
.z8-commit, .z8-commit * { box-sizing: border-box; }
.z8-commit { padding: 0 var(--z3-g) var(--z3-sec-y); background: #fff; font-family: var(--z-font-body); color: #000; }
.z8-commit__inner { max-width: 84rem; margin: 0 auto; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 32px var(--z3-gap); align-items: center; padding: 40px; background: var(--z3-warm); }
.z8-commit__head { grid-column: 1 / span 4; }
.z8-commit__head .z6-label { margin: 0 0 12px; }
.z8-commit__head h2 { margin: 0; font: 400 var(--z-type-subsection-size)/1.2 var(--z-font-heading); letter-spacing: -.01em; color: #000; text-wrap: balance; }
.z8-commit__head .z3-link { margin-top: 12px; }
.z8-commit__terms { grid-column: 5 / -1; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--z3-gap); }
.z8-commit__terms li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 16px; align-items: start; padding: 24px; background: #fff; }
.z8-commit__terms i { display: grid; place-items: center; width: 32px; height: 32px; background: var(--z3-green); color: var(--z3-mint); }
.z8-commit__terms i svg { width: 16px; height: 16px; }
.z8-commit__terms b { display: block; font: 400 var(--z-type-card-size)/1.3 var(--z-font-heading); letter-spacing: -.005em; color: #000; }
.z8-commit__terms span { display: block; margin-top: 6px; font: 400 14px/1.5 var(--z-font-body); color: var(--z3-body); }
@media (max-width: 1100px) {
  .z8-commit__head, .z8-commit__terms { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .z8-commit__inner { padding: 24px; }
  .z8-commit__terms { grid-template-columns: 1fr; gap: 12px; }
  .z8-commit__terms li { padding: 20px; }
}

/* ── Managed service: compact, photographic ───────────────────────── */
.z8-managed { background: var(--z3-green); color: #fff; }
.z8-managed__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 48px var(--z3-gap); align-items: center; }
.z8-managed__copy { grid-column: 1 / span 6; }
.z8-managed__copy h2 { margin: 0; max-width: 14ch; color: #fff; text-wrap: balance; }
.z8-managed__lead { margin: 20px 0 0; max-width: 34rem; color: var(--z7-on-green) !important; }
.z8-steps { list-style: none; margin: 32px 0 0; padding: 0; max-width: 34rem; border-top: 1px solid var(--z7-rule-green); }
.z8-steps li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--z7-rule-green); }
.z8-steps__n { font: 400 var(--z-type-card-size)/1 var(--z-font-heading); color: var(--z3-mint); }
.z8-steps b { display: block; font: 500 16px/1.4 var(--z-font-body); color: #fff; }
.z8-steps div > span { display: block; margin-top: 2px; font: 400 14px/1.5 var(--z-font-body); color: var(--z7-on-green); }
.z8-managed__copy .z3-actions { margin-top: 32px !important; }
.z8-managed__media { grid-column: 7 / -1; position: relative; margin: 0; padding: 0 0 56px 64px; }
.z8-managed__main { display: block; width: 100%; height: auto; aspect-ratio: 5 / 4; object-fit: cover; object-position: 55% 30%; }
.z8-managed__inset { position: absolute; left: 0; bottom: 0; width: 38%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: 62% 40%; border: 6px solid var(--z3-green); box-sizing: content-box; }
.z8-managed__chip { position: absolute; right: 16px; top: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; background: #fff; font: 500 14px/1.2 var(--z-font-body); color: #000; box-shadow: var(--z7-shadow); }
.z8-managed__chip span { width: 8px; height: 8px; background: var(--z3-green); }
@media (max-width: 980px) {
  .z8-managed__copy, .z8-managed__media { grid-column: 1 / -1; }
  .z8-managed__media { order: -1; max-width: 640px; padding: 0 0 40px 48px; }
}
@media (max-width: 600px) {
  .z8-managed__media { padding: 0 0 32px 32px; }
  .z8-managed__inset { width: 42%; border-width: 4px; }
  .z8-managed__chip { right: 8px; top: 8px; font-size: 12px; }
}

/* D-028: G2 support proof badge on the managed-service photo (claim supplied by the user: support #1 rated on G2). */
.z8-g2 { position: absolute; right: 20px; top: 20px; display: grid; justify-items: start; gap: 6px; min-width: 176px; padding: 16px 18px 14px; background: #fff; color: #000; box-shadow: var(--z7-shadow); }
.z8-g2 img { display: block; width: auto; height: 18px; }
.z8-g2 b { margin-top: 4px; font: 400 var(--z-type-card-size)/1.15 var(--z-font-heading); letter-spacing: -.01em; }
.z8-g2 span { font: 500 12px/1.3 var(--z-font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--z3-body); }
.z8-managed__copy h2 { max-width: 16ch; }
@media (max-width: 600px) {
  .z8-g2 { right: 10px; top: 10px; min-width: 0; padding: 10px 12px; gap: 4px; }
  .z8-g2 img { height: 14px; }
  .z8-g2 b { font-size: 18px; }
  .z8-g2 span { font-size: 11px; }
}
.z8-managed__copy h2 { max-width: none; text-wrap: initial; }
.z8-line { display: block; }

/* ── D-028 Closing CTA: the live homepage's "Switch" CTA, rebuilt on the grid ── */
.z9-cta, .z9-cta * { box-sizing: border-box; }
.z9-cta { padding: var(--z3-sec-y) var(--z3-g); background: #fff; font-family: var(--z-font-body); }
.z9-cta__inner { max-width: 84rem; margin: 0 auto; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--z3-gap); align-items: stretch; }
.z9-cta__panel { position: relative; grid-column: 1 / span 7; display: flex; flex-direction: column; justify-content: center; padding: 72px 64px; background: var(--z3-green); color: #fff; overflow: hidden; }
.z9-cta__panel::after { content: ""; position: absolute; left: 0; bottom: 0; width: 72px; height: 72px; background: #ffffff0f; pointer-events: none; }
.z9-cta__panel h2 { margin: 0; max-width: 15ch; color: #fff; text-wrap: balance; }
.z9-cta__lead { margin: 20px 0 0; max-width: 32rem; font: 400 18px/1.6 var(--z-font-body); color: var(--z7-on-green); }
.z9-cta__form { display: flex; gap: 8px; max-width: 32rem; margin-top: 32px; }
.z9-cta__input { flex: 1 1 auto; min-width: 0; height: 56px; padding: 0 18px; border: 1px solid rgba(255, 255, 255, .55); border-radius: 0; background: transparent; font: 400 16px/1.4 var(--z-font-body); color: #fff; }
.z9-cta__input::placeholder { color: rgba(255, 255, 255, .7); }
.z9-cta__input:focus-visible { outline: 2px solid var(--z3-mint) !important; outline-offset: 2px; }
.z9-cta__submit { appearance: none; display: inline-flex; align-items: center; gap: 10px; height: 56px; padding: 0 24px; border: 0; border-radius: 0; background: #fff; color: #0c0a08; font: 500 16px/1 var(--z-font-body); cursor: pointer; transition: background .15s; }
.z9-cta__submit:hover { background: var(--z3-mint); }
.z9-cta__submit span { display: inline-block; transition: transform .2s; }
.z9-cta__submit:hover span { transform: translateX(3px); }
.z9-cta__panel .z6-claims { margin-top: 16px; }
.z9-cta__phone { margin: 16px 0 0; font: 400 14px/1.5 var(--z-font-body); color: var(--z7-on-green); }
.z9-cta__phone a { color: #fff; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
.z9-cta__photo { grid-column: 8 / -1; margin: 0; min-height: 100%; }
.z9-cta__photo img { display: block; width: 100%; height: 100%; min-height: 420px; object-fit: cover; object-position: 50% 45%; }
@media (max-width: 980px) {
  .z9-cta__panel, .z9-cta__photo { grid-column: 1 / -1; }
  .z9-cta__photo { order: -1; }
  .z9-cta__photo img { min-height: 0; aspect-ratio: 16 / 9; height: auto; }
  .z9-cta__panel { padding: 48px 40px; }
}
@media (max-width: 600px) {
  .z9-cta__panel { padding: 40px 24px; }
  .z9-cta__form { flex-direction: column; }
  .z9-cta__submit { justify-content: center; width: 100%; }
  .z9-cta__phone a { display: inline-flex; align-items: center; min-height: 44px; }
}
/* The page ends on this CTA: hide the footer's own CTA band on / only. */
body:has(.z9-cta) .footer_component .padding-top.padding-xhuge:has(> .footer_cta_component) { display: none !important; }
body:has(.z9-cta) .footer_component .padding-bottom > .padding-vertical.padding-xhuge:first-child { padding-top: 0 !important; }
body:has(.z9-cta) .footer_component .divider-horizontal:first-of-type { display: none; }

/* ── D-029 Logo bar: smaller, optically balanced logos + label ───────── */
body:has(.z3-hero) .z-logo-bank__marquee { --gap: 56px; }
body:has(.z3-hero) .z-logo-bank__item, body:has(.z3-hero) .z-logo-bank__item--wide, body:has(.z3-hero) .z-logo-bank__item--stack { width: auto !important; height: 40px; }
body:has(.z3-hero) .z-logo-bank__item img { height: var(--h, 22px) !important; width: auto !important; max-width: none !important; max-height: none !important; }
body:has(.z3-hero) .z-logo-bank--labelled { display: flex; align-items: center; gap: 40px; max-width: 84rem; margin: 0 auto; }
.z-logo-bank__label { flex: 0 0 auto; max-width: 11rem; margin: 0; padding-right: 40px; border-right: 1px solid var(--z3-rule-2); font: 400 var(--z-type-card-size)/1.25 var(--z-font-heading); letter-spacing: -.01em; color: #000; }
body:has(.z3-hero) .z-logo-bank--labelled .z-logo-bank__marquee { flex: 1 1 auto; min-width: 0; }
@media (max-width: 767px) {
  body:has(.z3-hero) .z-logo-bank--labelled { flex-direction: column; align-items: flex-start; gap: 16px; }
  .z-logo-bank__label { max-width: none; padding-right: 0; border-right: 0; font-size: 18px; }
  body:has(.z3-hero) .z-logo-bank--labelled .z-logo-bank__marquee { width: 100%; }
  body:has(.z3-hero) .z-logo-bank__marquee { --gap: 40px; }
  body:has(.z3-hero) .z-logo-bank__item img { height: calc(var(--h, 22px) * .8) !important; }
}

/* ── D-029 Hero G2 proof lockup ─────────────────────────────────────── */
.z10-g2 { display: flex; align-items: center; gap: 10px; margin: 20px 0 0; }
.z10-g2__mark { width: 24px; height: 24px; display: block; }
.z10-g2__stars { width: 92px; height: auto; display: block; }
.z10-g2__text { padding-left: 12px; margin-left: 2px; border-left: 1px solid var(--z3-rule-2); font: 500 14px/1.4 var(--z-font-body); color: #000; }

/* ── D-029 Managed: G2 award card ───────────────────────────────────── */
.z10-award { position: absolute; right: 20px; top: 20px; display: grid; justify-items: start; width: 200px; padding: 18px 20px 16px; background: #fff; color: #000; box-shadow: var(--z7-shadow); border-top: 3px solid #ff4a2c; }
.z10-award__top { display: flex; align-items: center; gap: 10px; }
.z10-award__top img:first-child { width: 28px; height: 28px; }
.z10-award__top img:last-child { width: 84px; height: auto; }
.z10-award__rank { margin-top: 14px; font: 400 48px/1 var(--z-font-heading); letter-spacing: -.02em; }
.z10-award__what { margin-top: 4px; font: 400 var(--z-type-card-size)/1.2 var(--z-font-heading); letter-spacing: -.01em; }
.z10-award__src { margin-top: 10px; padding-top: 10px; width: 100%; border-top: 1px solid var(--z3-rule); font: 400 12px/1.4 var(--z-font-body); color: var(--z3-body); }
@media (max-width: 600px) {
  .z10-award { right: 10px; top: 10px; width: 150px; padding: 12px 14px; }
  .z10-award__top img:first-child { width: 22px; height: 22px; }
  .z10-award__top img:last-child { width: 66px; }
  .z10-award__rank { margin-top: 8px; font-size: 32px; }
  .z10-award__what { font-size: 17px; }
  .z10-award__src { display: none; }
}

/* Logo-bar label: small sans, not a heading (user: "too big"). */
.z-logo-bank__label { max-width: 9rem; padding-right: 32px; font: 500 14px/1.4 var(--z-font-body) !important; letter-spacing: 0; color: var(--z3-body); }
body:has(.z3-hero) .z-logo-bank--labelled { gap: 32px; }
@media (max-width: 767px) { .z-logo-bank__label { font-size: 13px !important; } }

/* ── D-030 Platform bento ───────────────────────────────────────────── */
.z11-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: auto; gap: var(--z3-gap);
  grid-template-areas:
    "fil fil fil fil fil fil fil not not not not not"
    "fil fil fil fil fil fil fil exe exe exe exe exe"
    "reg reg reg reg reg reg cal cal cal nex nex nex"; }
.z11-cell { margin: 0; padding: 0; min-width: 0; }
.z11-cell--filing { grid-area: fil; } .z11-cell--notice { grid-area: not; } .z11-cell--exempt { grid-area: exe; }
.z11-cell--reg { grid-area: reg; } .z11-cell--calc { grid-area: cal; } .z11-cell--nexus { grid-area: nex; }
.z11-bento .z3-feat__card { height: 100%; }
.z11-bento .z4-art { flex: 1 1 auto; height: auto !important; min-height: 260px; padding: 28px 32px !important; }
.z11-cell--filing .z4-art { min-height: 520px; padding: 40px !important; }
.z11-cell--filing .z4-panel { max-width: 560px; }
.z11-cell--notice .z4-art, .z11-cell--exempt .z4-art { min-height: 240px; }
.z11-art--compact { min-height: 180px !important; }
/* Registrations: copy left, graphic right */
.z11-card--row { flex-direction: row !important; }
.z11-card--row .z3-feat__copy { flex: 0 0 45%; display: flex; flex-direction: column; justify-content: center; }
.z11-card--row .z4-art { flex: 1 1 auto; margin: 0 !important; border-top: 0 !important; border-left: 1px solid var(--z3-rule); }
/* Returns table */
.z11-returns__th, .z11-returns li { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .7fr) minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 20px; }
.z11-returns__th { padding-top: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--z3-rule); font: 500 12px/1.3 var(--z-font-body); color: var(--z3-body); }
.z11-returns__th span:nth-child(3), .z11-returns li span:nth-child(3) { text-align: right; }
.z11-returns ul { list-style: none; margin: 0; padding: 0; }
.z11-returns li { border-bottom: 1px solid var(--z3-rule); font: 500 14px/1.3 var(--z-font-body); color: #000; }
.z11-returns li span:nth-child(2) { font-weight: 400; color: var(--z3-body); }
.z11-num { font-variant-numeric: tabular-nums; }
.z11-returns__foot { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 16px 20px; background: var(--z3-warm); font: 400 13px/1.4 var(--z-font-body); color: var(--z3-body); }
.z11-returns__foot b { font: 400 24px/1 var(--z-font-heading); color: #000; letter-spacing: -.01em; }
/* Exemption certificates */
.z11-certs ul { list-style: none; margin: 0; padding: 0; }
.z11-certs li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 20px; border-top: 1px solid var(--z3-rule); }
.z11-certs li:first-child { border-top: 0; }
.z11-certs b { display: block; font: 500 14px/1.3 var(--z-font-body); color: #000; }
.z11-certs small { display: block; margin-top: 2px; font: 400 12px/1.3 var(--z-font-body); color: var(--z3-body); }
.z11-chip--flag { background: #ffece6 !important; color: #8a2a12 !important; }
/* Compact graphics */
.z11-rate { display: grid; gap: 4px; padding: 16px 20px; max-width: 260px; }
.z11-rate small { font: 500 12px/1.3 var(--z-font-body); color: var(--z3-body); }
.z11-rate strong { font: 400 40px/1 var(--z-font-heading); letter-spacing: -.02em; color: #000; }
.z11-rate span { font: 400 12px/1.3 var(--z-font-body); color: var(--z3-body); }
.z11-meter { padding: 16px 20px; max-width: 280px; }
.z11-meter small { display: block; margin-top: 6px; font: 400 12px/1.3 var(--z-font-body); color: var(--z3-body); }
.z11-meter .z4-bar i { background: #1b595a; }
@media (max-width: 1100px) {
  .z11-grid { grid-template-areas:
    "fil fil fil fil fil fil fil fil fil fil fil fil"
    "not not not not not not exe exe exe exe exe exe"
    "reg reg reg reg reg reg reg reg reg reg reg reg"
    "cal cal cal cal cal cal nex nex nex nex nex nex"; }
  .z11-cell--filing .z4-art { min-height: 420px; }
}
@media (max-width: 767px) {
  .z4-feat.z11-bento .z11-grid { display: grid !important; overflow: visible; margin: 0; padding: 0; grid-template-columns: 1fr; grid-template-areas: "fil" "not" "exe" "reg" "cal" "nex"; gap: 12px; }
  .z4-feat.z11-bento .z11-cell { flex: none; }
  .z11-card--row { flex-direction: column !important; }
  .z11-card--row .z4-art { border-left: 0; border-top: 1px solid var(--z3-rule); }
  .z11-cell--filing .z4-art { min-height: 0; padding: 20px !important; }
  .z11-returns__th, .z11-returns li { grid-template-columns: minmax(0, 1fr) auto auto; padding: 10px 14px; }
  .z11-returns__th span:nth-child(2), .z11-returns li span:nth-child(2) { display: none; }
  .z11-bento .z4-art { min-height: 0; padding: 20px !important; }
}
.z-logo-bank__label { max-width: 12.5rem !important; }

/* Hero card sits fully inside the photograph at every desktop width (user: it crowded the copy). */
@media (min-width: 981px) { .z3-hero__card { left: 40px !important; bottom: 40px !important; width: 340px !important; } }
@media (min-width: 981px) and (max-width: 1320px) { .z3-hero__card { left: 24px !important; bottom: 24px !important; width: 300px !important; } }

/* Managed: compact G2 badge (replaces the large award card). */
.z10-award { display: none !important; }
.z12-g2 { position: absolute; right: 16px; top: 16px; display: flex; align-items: center; gap: 12px; padding: 12px 16px 12px 12px; background: #fff; box-shadow: var(--z7-shadow); }
.z12-g2__mark { display: block; width: 32px; height: 32px; }
.z12-g2__body { display: grid; gap: 2px; }
.z12-g2__stars { display: block; width: 70px; height: auto; margin-bottom: 2px; }
.z12-g2 b { font: 500 14px/1.25 var(--z-font-body); color: #000; }
.z12-g2 small { font: 400 12px/1.3 var(--z-font-body); color: var(--z3-body); }
@media (max-width: 600px) { .z12-g2 { right: 8px; top: 8px; padding: 8px 10px 8px 8px; gap: 8px; } .z12-g2__mark { width: 24px; height: 24px; } .z12-g2 small { display: none; } }

/* Filing card: returns table + October due-date calendar, stacked. */
.z11-cell--filing .z4-art { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 0; }
.z11-cal { width: 100%; max-width: 300px !important; align-self: flex-end; margin: -24px 0 0 0; padding: 14px 16px 16px; z-index: 2; }
.z11-cal__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; }
.z11-cal__head .z4-panel__title { font-size: 18px; }
.z11-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.z11-cal__grid span { display: grid; place-items: center; height: 26px; font: 400 12px/1 var(--z-font-body); color: var(--z3-body); font-variant-numeric: tabular-nums; }
.z11-cal__grid span.is-due { background: var(--z3-green); color: #fff; font-weight: 500; }
.z11-cell--filing .z11-returns { align-self: flex-start; }
@media (max-width: 767px) { .z11-cal { display: none; } }

/* Notice card: room for the letter and the reply. */
.z11-cell--notice .z4-art { min-height: 300px !important; }
.z11-cell--notice .z4-notice__reply { bottom: 20px; }

/* D-030 rev: balanced bento — no double-height card. */
.z11-grid { grid-template-areas:
  "fil fil fil fil fil fil fil not not not not not"
  "exe exe exe exe exe reg reg reg reg reg reg reg"
  "cal cal cal cal cal cal nex nex nex nex nex nex" !important; }
.z11-cell--filing .z4-art { min-height: 320px !important; padding: 28px 32px !important; }
.z11-cell--filing .z11-returns { align-self: center !important; }
.z11-bento .z4-art { min-height: 300px; }
.z11-art--compact { min-height: 0 !important; }
.z11-cell--calc .z11-card--row .z3-feat__copy, .z11-cell--nexus .z11-card--row .z3-feat__copy { flex-basis: 50%; }
@media (max-width: 1100px) {
  .z11-grid { grid-template-areas:
    "fil fil fil fil fil fil fil fil fil fil fil fil"
    "not not not not not not exe exe exe exe exe exe"
    "reg reg reg reg reg reg reg reg reg reg reg reg"
    "cal cal cal cal cal cal nex nex nex nex nex nex" !important; }
  .z11-cell--calc .z11-card--row, .z11-cell--nexus .z11-card--row { flex-direction: column !important; }
  .z11-cell--calc .z11-card--row .z4-art, .z11-cell--nexus .z11-card--row .z4-art { border-left: 0; border-top: 1px solid var(--z3-rule); }
}
@media (max-width: 767px) { .z11-grid { grid-template-areas: "fil" "not" "exe" "reg" "cal" "nex" !important; } }

/* Managed G2 badge: everything left-aligned (figcaption inherited centring). */
.z12-g2, .z12-g2 * { text-align: left !important; }
.z12-g2__body { justify-items: start; }

/* Closing CTA: social proof under the form (G2 + customer logos) — no bullets, no phone. */
.z9-proof { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--z7-rule-green); }
.z9-proof__g2 { display: flex; align-items: center; gap: 8px; margin: 0; font: 500 14px/1.3 var(--z-font-body); color: #fff; }
.z9-proof__g2 img:first-child { width: 22px; height: 22px; }
.z9-proof__g2 img:nth-child(2) { width: 76px; height: auto; }
.z9-proof__logos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.z9-proof__logos img { display: block; height: var(--h, 18px); width: auto; filter: brightness(0) invert(1); opacity: .8; }
/* CTA now sits between integrations (white) and the FAQ (warm). */
.z9-cta { padding-bottom: var(--z3-sec-y); }

/* D-031 integrations story: a small label over each point; four-row subgrid. */
.z13-k { display: block; margin-bottom: 12px; font: 500 12px/1.3 var(--z-font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--z3-green); }
@media (min-width: 981px) { .z3-points { grid-template-rows: auto auto auto auto !important; } .z3-points li { grid-row: span 4 !important; } }
.z3-points { margin-top: 64px; }
/* Restore the footer's standard CTA band on / (the Switch CTA now sits above the FAQ, as on the live homepage). */
body:has(.z9-cta) .footer_component .padding-top.padding-xhuge:has(> .footer_cta_component) { display: block !important; }
body:has(.z9-cta) .footer_component .divider-horizontal:first-of-type { display: block; }
body:has(.z9-cta) .footer_component .padding-bottom > .padding-vertical.padding-xhuge:first-child { padding-top: 64px !important; }

/* Hero: category pill + two-line H1 on desktop. */
.z14-pill { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 24px; padding: 7px 12px 7px 10px; border: 1px solid var(--z3-rule-2); background: #fff; font: 500 13px/1.3 var(--z-font-body); color: #000; }
.z14-pill span { width: 8px; height: 8px; background: var(--z3-green); box-shadow: 0 0 0 3px var(--z3-mint); }
.z3-hero h1 { max-width: none !important; text-wrap: initial !important; }
@media (min-width: 1240px) { .z3-hero__copy { padding-right: 48px !important; } .z14-l { display: block; white-space: nowrap; } }
/* Bottom CTA: G2 mark and stars in white. */
.z9-proof__g2 img { filter: brightness(0) invert(1); }

/* ── D-032 Bento graphics: stand out + live product motion ──────────── */
.z11-bento .z4-art { background: #ede9e2 !important; border-top: 1px solid #e3ded5 !important; }
.z11-card--row .z4-art { border-top: 0 !important; border-left: 1px solid #e3ded5 !important; }
.z11-bento .z4-panel { box-shadow: 0 1px 0 #e1dbd1, 0 2px 6px rgba(12,10,8,.04), 0 28px 56px -24px rgba(12,10,8,.28); }
/* Flip chips: final state by default (no JS, reduced motion): only the outgoing-state chip is hidden.
   Play once (user, 2026-10-31): every panel shows its whole UI from first paint, in its "before" state (Prepared,
   Submitted, unchecked notice steps, a pending total). motion.js adds .is-on to each .z4-art once, when 35% of it is
   visible, then marks each [data-z15-step] .is-done in order (statuses only move forward) and adds .is-complete; the
   panel then holds its all-filed / registered / answered state for good: no fade-out, no reset, no replay. A swap never
   shows two chips: the outgoing chip is hidden before the incoming one appears. */
.z15-flip { position: relative; display: inline-grid; justify-items: end; }
.z15-flip > * { grid-area: 1 / 1; }
.z15-a { opacity: 0; visibility: hidden; }
.z15-b { opacity: 1; }
.z15-scan { display: none; }
@media (prefers-reduced-motion: no-preference) and (scripting: enabled) {
  [data-z15-seq] [data-z15-step]:not(.is-done) .z15-a { opacity: 1; visibility: visible; }
  [data-z15-seq] [data-z15-step]:not(.is-done) .z15-b { opacity: 0; visibility: hidden; transform: scale(.9); }
  [data-z15-seq] [data-z15-step].is-done .z15-a { transition: opacity .15s ease, visibility 0s linear .15s; }
  [data-z15-seq] [data-z15-step].is-done .z15-b { transition: opacity .2s ease .15s, transform .35s cubic-bezier(.3, 1.4, .5, 1) .15s, visibility 0s linear .15s; }
  .z11-returns li[data-z15-step].is-done { animation: z15-row 1.4s ease-out 1; }
  /* The total / "Response sent" line is legible but pending until every step is done, then settles to full strength. */
  [data-z15-seq]:not(.is-complete) [data-z15-final] { opacity: .45; }
  [data-z15-seq].is-complete [data-z15-final] { transition: opacity .4s ease; }
  /* Exemptions: one scan sweeps the certificates, then the missing signature pulses twice. */
  .z11-bento .z4-art.is-on .z15-scan { display: block; position: absolute; left: 0; right: 0; top: 56px; height: 2px; background: var(--z3-mint); box-shadow: 0 0 12px 2px rgba(175,236,219,.9); animation: z15-scan 2.4s ease-in-out .3s 1 both; z-index: 2; }
  .z11-bento .z4-art.is-on .z11-chip--flag { animation: z15-pulse 1.8s ease-in-out 2.4s 2; }
  /* Nexus: the bar fills once toward the threshold (its track is visible throughout), then the alert chip rings. */
  .z11-bento .z4-art:not(.is-on) .z11-meter .z4-bar i { width: 0; }
  .z11-bento .z4-art.is-on .z11-meter .z4-bar i { transition: width 1.4s cubic-bezier(.2,.7,.2,1) .3s; }
  .z11-bento .z4-art.is-on .z11-meter .z4-chip { animation: zm-ring 1.2s ease-out 1.6s 1 both; }
}
@keyframes z15-row { 0% { background: transparent; } 25% { background: rgba(175,236,219,.35); } 100% { background: transparent; } }
@keyframes z15-scan { 0% { transform: translateY(0); opacity: 0; } 10% { opacity: 1; } 85% { transform: translateY(150px); opacity: 1; } 100% { transform: translateY(150px); opacity: 0; visibility: hidden; } }
@keyframes z15-pulse { 0%, 55% { box-shadow: 0 0 0 0 rgba(255,74,44,0); } 70% { box-shadow: 0 0 0 4px rgba(255,74,44,.18); } 100% { box-shadow: 0 0 0 0 rgba(255,74,44,0); } }

/* CTA: G2 line above the divider, logos below it. */
.z9-cta__panel > .z9-proof__g2 { margin-top: 20px; }
.z9-proof { margin-top: 24px; }

/* Bento hover: a full-perimeter frame drawn above the card contents. */
.z11-bento .z3-feat__card { position: relative; outline: 0 !important; }
.z11-bento .z3-feat__card::after { content: ""; position: absolute; inset: 0; border: 1px solid #e6e1da; pointer-events: none; z-index: 5; transition: border-color .2s; }
.z11-bento .z3-feat__card:hover::after, .z11-bento .z3-feat__card:focus-visible::after { border-color: #0c0a08; }

/* ── Notice management graphic: letter → three-step tracker → response sent ── */
.z16-notice { max-width: 400px !important; }
.z16-notice__head { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--z3-rule); }
.z16-env { display: grid; place-items: center; width: 36px; height: 36px; background: var(--z3-warm); color: #000; }
.z16-env svg { width: 20px; height: 20px; }
.z16-notice__head b { display: block; font: 500 14px/1.3 var(--z-font-body); color: #000; }
.z16-notice__head small { display: block; margin-top: 2px; font: 400 12px/1.3 var(--z-font-body); color: var(--z3-body); }
.z16-steps { position: relative; list-style: none; margin: 0; padding: 20px 20px 18px; display: grid; grid-template-columns: repeat(3, 1fr); }
.z16-steps::before { content: ""; position: absolute; left: calc(20px + 16.66% - 10px); right: calc(20px + 16.66% - 10px); top: 31px; height: 2px; background: var(--z3-green); }
.z16-steps li { position: relative; display: grid; justify-items: center; gap: 8px; text-align: center; }
.z16-steps i { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--z3-green); color: var(--z3-mint); z-index: 1; box-shadow: 0 0 0 4px #fff; }
.z16-steps i svg { width: 12px; height: 12px; }
.z16-steps span { font: 500 12px/1.3 var(--z-font-body); color: #000; }
.z16-notice__foot { display: flex; align-items: center; gap: 12px; padding: 14px 20px; background: rgba(175, 236, 219, .45); }
.z16-notice__foot b { display: block; font: 500 14px/1.3 var(--z-font-body); color: var(--z3-green); }
.z16-notice__foot small { display: block; font: 400 12px/1.3 var(--z-font-body); color: var(--z3-body); }
@media (prefers-reduced-motion: no-preference) and (scripting: enabled) {
  /* Notice steps start unchecked on a visible track; the green line fills as each step is checked. */
  .z16-notice .z16-steps li:not(.is-done) i { background: #fff; box-shadow: 0 0 0 4px #fff, inset 0 0 0 1.5px #c8bfb1; color: transparent; }
  .z16-notice .z16-steps li.is-done i { transition: background .3s ease, box-shadow .3s ease, color .3s ease; }
  .z16-notice .z16-steps::before { background: #ddd6cb; }
  .z16-notice .z16-steps::after { content: ""; position: absolute; left: calc(20px + 16.66% - 10px); right: calc(20px + 16.66% - 10px); top: 31px; height: 2px; background: var(--z3-green); transform-origin: left; transform: scaleX(0); transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
  .z16-notice .z16-steps:has(li:nth-child(2).is-done)::after { transform: scaleX(.5); }
  .z16-notice .z16-steps:has(li:nth-child(3).is-done)::after { transform: scaleX(1); }
}

/* D-033 stories slider (own implementation on /). */
body:has(.z3-hero) .customer-industry-component .z17-viewport { overflow: hidden; clip-path: inset(-40px 0 -40px var(--z3-g)); touch-action: pan-y; cursor: grab; }
body:has(.z3-hero) .customer-industry-component .z17-viewport:active { cursor: grabbing; }
body:has(.z3-hero) .customer-industry-component .z17-viewport .swiper-wrapper { display: flex !important; gap: var(--z3-gap); will-change: transform; }
body:has(.z3-hero) .customer-industry-component .z17-viewport .swiper-slide { flex: 0 0 auto !important; margin: 0 !important; }
body:has(.z3-hero) .customer-industry-component .z17-viewport img { -webkit-user-drag: none; user-select: none; }
