/* ============================================================
   Virtual CIO Services — page-specific layer.
   ROOT-LEVEL PAGE, 22 depth-1 sections, MOSTLY ITS OWN TEMPLATE
   (only 820bdff / 9d19ee4 / 65e1765 / a8ff3b4 shared with charlotte).

   Loads AFTER css/it-managed-services-zazz.css (requested with a never-used
   ?v token, see $zmit_css_v in the page).

   Cloned from css/managed-it-services-charlotte.css (the owner-approved model,
   which carries the stat-number left-align and recognition-CTA wrap fixes) and
   re-measured against THIS live page at 1440 wherever the section is not
   charlotte-shaped. Measured deltas:
     - hero banner URL (Virtual-CIO-Services-Zazz-Banner.webp, 1600x522; must
       equal the <link rel=preload> in the page)
     - S02 services: 12 TEXT-ONLY cards, 4-up, 10px gap, TRANSPARENT (live's
       .uc_content is explicitly rgba(0,0,0,0)), no border, native disc
       bullets, NO hover (live's only hover rule is an image zoom and these
       cards have no image), no CTA, no overlay
     - S10 recognized logos render 70px tall on live (charlotte's are 50)
     - S11 engagement models: NEW .zab-models dark 4-up panel (1px white
       dividers, CENTRE-aligned, underlined titles - NOT .zab-trust)
     - S15 why-cells render SQUARE corners on live (charlotte's are 10px)
     - S19 NEW .zab-lead copy|photo band on #fcfcfc
     - S20 final band card carries a 102.29deg gradient (an earlier note said
       "no gradient" - wrong); figure 500x613 anchored bottom, overhanging top
     - no video band, no .zab-trust icon panel, no .zab-svc-cta on this page

   Split rule: a given CSS property for a given selector lives in exactly one
   of the two sheets, never both, so their load order cannot change any
   outcome.
   ============================================================ */
/* ------------------------------------------------------------
   BRAND TOKENS taken from live's Elementor globals
   ------------------------------------------------------------ */
.zmit {
    --zab-ink: #14142b;          /* live body/heading ink */
    --zab-accent: #0161ff;       /* --e-global-color-accent */
    --zab-body: rgba(20, 20, 20, .7); /* --e-global-color-text */
    --zab-line: rgba(6, 0, 28, .12);  /* compare-table hairline */
    --zab-fill: #eff0f7;         /* card fill (icon-box bg) */
    --zab-dark: #262338;         /* models panel + stats band */
}

/* Owner decision 2026-08-26: the shared centred box (.z-container = max-width
   1400px, padding 0 30px) even though live runs full-viewport-minus-30px.
   Do NOT reintroduce a global `.zmit .z-container { max-width: none }`. */

/* ============================================================
   1. HERO — live at 1440: banner <img> 1425x601 (1600x522 webp stretched,
   object-fit fill => background 100% 100%), trust strip 125, hero section 726.
   White form card measured t140 h656 w508 l887, radius 8; it overhangs the
   banner (bottom 701) by ~95px into the logo strip — same composition and
   numbers as the charlotte model, whose hero rules are carried.
   ============================================================ */
.zmit-hero::before {
    background: url('https://dahqbtk1vlskk.cloudfront.net/wp-content/uploads/2025/06/30095932/Virtual-CIO-Services-Zazz-Banner.webp') center/100% 100% no-repeat;
    background-color: #05070f;
}
.zmit-hero-left { padding-bottom: 56px; }

@media (min-width: 1081px) {
    .zmit .zmit-hero-crumb { padding-top: 17px; margin-bottom: 18px; }
    /* 757 / 100 / 508 of the 1365 box, as percentages. */
    .zmit .zmit-hero-grid {
        grid-template-columns: 55.46% 37.22%;
        gap: 7.33%; align-items: stretch; padding: 28px 0 0;
    }
    .zmit .zmit-hero-left { padding-bottom: 50px; align-self: start; }
    .zmit-hero .zmit-hero-pill { margin-bottom: 20px; }
    /* Owner request 2026-08-26: hero headline + sub reduced below live's
       54px/16px. Deliberate deviation from live, applied on request —
       carried from the approved charlotte model. */
    .zmit-hero .zmit-hero-headline { margin-bottom: 20px; font-size: 42px; line-height: 1.18; }
    .zmit-hero .zmit-hero-sub { max-width: 757px; color: #fff; margin-bottom: 20px; font-size: 15px; line-height: 1.6; }
    .zmit-hero .zmit-hero-cta { margin-bottom: 0; }
    .zmit-hero .zmit-hero-cta-btn {
        font-size: 12px; line-height: 12px; font-weight: 500;
        padding: 12px 24px; gap: 20px;
        background: #f2f7ff; border: 0;
    }
    .zmit-hero .zmit-hero-cta-btn .zmit-hero-cta-ico { line-height: 12px; }
    .zmit-hero .zmit-hero-cta-btn .zmit-hero-cta-ico svg { width: 16px; height: 12px; }
    .zmit-hero .zmit-hero-cta-btn { min-height: 36px; }
    .zmit-hero .zmit-hero-cta-btn:hover { background: #e2ecff; }
    /* -44px lifts the card to the hero content top; -95.55px is live's own
       overhang into the logo strip (form bottom 796 vs banner bottom 701). */
    .zmit .zmit-hero-right { align-self: stretch; margin: -44px 0 -95.55px; }
    .zmit-form-card {
        margin: 0; height: 100%; transform: none;
        padding: 20px 25px 20px 20px;
    }
    .zmit-form-card h3 { margin-bottom: 12px; }
    .zmit-hsform { min-height: 0; }
    /* NO form compaction on this page (unlike the charlotte model): live's
       banner here is 601 with a 656 form card — the natural HubSpot render
       is what live shows, so the form is left at the shared sheet's sizing. */
}

/* Scroll cue — bare 30px chevron, no disc, bobbing. */
.zmit-hero .zmit-hero-scroll {
    left: 50%; bottom: 18px;
    width: 30px; height: 30px; border: 0; border-radius: 0;
    background: none; -webkit-backdrop-filter: none; backdrop-filter: none;
    color: rgba(255, 255, 255, .66);
    animation: zab-float 3s ease-in-out infinite;
}
@keyframes zab-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(5px); } }
@media (prefers-reduced-motion: reduce) {
    .zmit-hero .zmit-hero-scroll { animation: none; transform: none; }
}
.zmit-hero .zmit-hero-scroll svg { width: 30px; height: 30px; }
.zmit-hero .zmit-hero-scroll:hover { background: none; color: #fff; }

/* Trust strip — same 23-badge marquee as the model; owner-approved chip
   bounding (2026-08-26) so every logo reads the same optical size. */
.zmit .zmit-trust-band { padding: 15px 0 40px; }
.zmit .zmit-trust { width: min(792px, 100%); max-width: 792px; margin: 0; }
.zmit .zmit-trust-chip { display: flex; align-items: center; justify-content: center; height: 70px; width: 180px; }
.zmit .zmit-trust-chip img { height: auto; width: auto; max-height: 62px; max-width: 168px; object-fit: contain; }

/* ============================================================
   SHARED PAGE BUTTON — live's own body CTA (label first, then arrow).
   ============================================================ */
.zmit .zab-btn {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 15.38px; font-weight: 600; line-height: 16px;
    color: #fcfcfc; background: var(--zab-accent);
    border-radius: 5px; padding: 15px 30px; text-decoration: none;
    transition: background .2s ease;
}
.zmit .zab-btn:hover { background: #141414; color: #fcfcfc; }
.zmit .zab-btn-ico { display: inline-flex; align-items: center; order: 2; }
.zmit .zab-btn-ico svg { display: block; width: 16px; height: 10px; }
.zmit .zab-btn-ico svg path { fill: currentColor; }
/* problems CTA: the light pill (12px/500, accent label on #f2f7ff). */
.zmit .zab-problems-cta .zab-btn {
    background: #f2f7ff; color: var(--zab-accent);
    font-size: 12px; line-height: 12px; font-weight: 500;
    padding: 12px 24px; border-radius: 8px; gap: 20px;
}
.zmit .zab-problems-cta .zab-btn:hover { background: #e2ecff; color: var(--zab-accent); }
/* steps CTA: 13px/600, #f2f7ff on accent, 5px radius. */
.zmit .zab-steps-cta .zab-btn {
    background: var(--zab-accent); color: #f2f7ff;
    font-size: 13px; line-height: 16px; font-weight: 600;
    padding: 15px 30px; border-radius: 5px; gap: 20px;
}
.zmit .zab-steps-cta .zab-btn:hover { background: #0a4fd0; color: #f2f7ff; }
/* stats CTA: light pill. */
.zmit .zab-btn-light {
    background: #f2f7ff; color: var(--zab-accent);
    font-size: 14.59px; line-height: 14.59px; font-weight: 500;
    padding: 12px 24px; border-radius: 8px; gap: 20px;
}
.zmit .zab-btn-light:hover { background: #e2ecff; color: var(--zab-accent); }
.zmit .zab-btn-accent { background: var(--zab-accent); color: #fcfcfc; }

/* ============================================================
   S02 SERVICES — 12 TEXT-ONLY cards, measured on live at 1440:
   grid repeat(4,1fr) gap 10px; item TRANSPARENT (live's .uc_content is
   explicitly rgba(0,0,0,0)), border 0, .uc_content padding 0 10px;
   title 18px/700 #14142b margin-top 0; text block margin-top 5px;
   ul native disc, padding-left 20px, margin 14px 0, ::marker #adadec 14px;
   li 14px/23.1px #14142b; inline bullet links #046bd2, no underline.
   NO hover: live's only hover rule (.uc_post_grid_style_one_item:hover
   .uc_post_image {transform:scale(110%)}) targets an image these cards do
   not have. NO overlay, NO per-card CTA — do not add them back.
   ============================================================ */
.zmit .zmit-services.z-section { padding: 30px 0; }
.zmit-services-head { margin-bottom: 20px; }
.zmit .zab-svc-eyebrow { font-size: 16.31px; font-weight: 700; line-height: 25.2px; color: var(--zab-ink); margin: 0 0 10px; }
.zmit .zab-svc-lead { font-size: 34.7px; font-weight: 400; line-height: 43px; color: var(--zab-ink); margin: 0; }
.zmit-services-grid { grid-template-columns: repeat(4, 1fr); gap: 10px; }
/* Live's cards are bare text on the white section — the shared sheet's
   lavender fill/border is overridden back to live's transparency. */
.zmit-services-grid .zmit-svc-card {
    background: transparent;
    border: 0;
    border-radius: 8px;
    padding: 0 10px;
    display: flex;
    flex-direction: column;
}
.zmit-services-grid .zmit-svc-card:hover,
.zmit-services-grid .zmit-svc-card:focus-within { background: transparent; }
.zmit-services-grid .zmit-svc-card h3 { font-size: 18px; font-weight: 700; line-height: 23.4px; color: var(--zab-ink); margin: 0; }
/* Native disc marker at live's indent; the shared sheet's own ::before bullet
   is switched off so the bullet cannot render twice (CLAUDE.md 7). */
.zmit-services-grid .zmit-svc-card ul { margin: 14px 0; padding: 0 0 0 20px; list-style: disc; }
.zmit-services-grid .zmit-svc-card li { font-size: 14px; font-weight: 400; line-height: 23.1px; color: var(--zab-ink); margin-bottom: 0; padding-left: 0; }
.zmit-services-grid .zmit-svc-card li::before { content: none; }
.zmit-services-grid .zmit-svc-card li::marker { color: #adadec; font-size: 14px; }
/* Inline interlinks inside bullets — live paints #046bd2, no underline.
   Contrast note: this rule is (0,4,1)+, outranking the shared
   `.zmit a{color:inherit}` (0,1,1). */
.zmit .zmit-services-grid .zmit-svc-card li a { color: #046bd2; text-decoration: none; }
.zmit .zmit-services-grid .zmit-svc-card li a:hover { text-decoration: underline; }
.zmit-svc-card.no-image .zmit-svc-media { display: none; }

/* ============================================================
   S03 PROBLEMS — white band; heading, two 4-item check columns, answer
   heading, light CTA pill. Same composition as the model.
   ============================================================ */
.zmit .zab-problems.z-section { background: #fff; padding: 30px 0; }
.zmit .zab-problems-head { font-size: 33.05px; font-weight: 600; line-height: 43px; color: var(--zab-ink); text-align: center; margin: 0 0 30px; }
.zab-problems-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; margin-bottom: 30px; }
.zab-problems-list { list-style: none; margin: 0; padding: 0; }
.zab-problems-list li { display: flex; align-items: flex-start; gap: 6px; padding-bottom: 7.5px; margin-top: 7.5px; }
.zab-problems-list li:first-child { margin-top: 0; }
.zab-problems-list li:last-child { padding-bottom: 0; }
.zab-tick { flex: 0 0 22px; margin-top: 1px; }
.zab-tick svg { display: block; width: 22px; height: 22px; fill: #046bd2; }
.zab-tick-text { font-size: 18px; font-weight: 500; line-height: 29.7px; color: var(--zab-ink); }
.zmit .zab-problems-answer { font-size: 24px; font-weight: 400; line-height: 43.2px; color: var(--zab-ink); text-align: center; margin: 0 0 30px; padding-bottom: 15px; }
.zab-problems-cta { text-align: center; }

/* ============================================================
   S04 BOOK A FREE CONSULTATION
   ============================================================ */
.zmit .zmit-bookcal.z-section { padding: 30px 0 0; }
.zmit .zmit-bookcal h2 { font-size: 33.05px; font-weight: 400; line-height: 43px; color: var(--zab-ink); text-align: center; margin-bottom: 12px; }
.zmit .zmit-bookcal p { font-size: 16px; font-weight: 400; line-height: 1.6; color: var(--zab-ink); text-align: center; max-width: 1000px; margin: 0 auto; }
.zmit-bookcal-embed,
.zmit-bookcal-embed .meetings-iframe-container,
.zmit-bookcal-embed iframe { height: 760px; min-height: 0; }

/* ============================================================
   S05 COMPARISON HEADING
   ============================================================ */
.zmit .zab-cmp-head.z-section { background: #fff; padding: 50px 0 15px; }
.zmit .zab-cmp-head h2 { font-size: 33.05px; font-weight: 600; line-height: 43px; color: var(--zab-ink); text-align: center; margin: 0; }

/* ============================================================
   S06 COMPARISON TABLE — DESKTOP ONLY. Measured on THIS live page at 1440:
   3 columns 452 wide 15 apart, header cells #fff h72, body cells h100;
   col-0 carries the 3-layer gradient with transparent cells and a hairline
   on row 1 only; col-1 (Zazz) is #eff0f7 with a 1px var(--zab-line) hairline
   on EVERY row and #f9fcff on even rows; col-2 is #f9fcff with #fff on even
   rows and a row-1 hairline. Identical to the charlotte model.
   ============================================================ */
.zmit .zab-cmp.z-section { background: #fff; padding: 0; } /* live S06 is 772 exactly - no band padding */
.zab-cmp-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 15px; }
.zab-cmp-col { display: flex; flex-direction: column; border-radius: 10px; overflow: hidden; }
.zmit .zab-cmp-col-head {
    background: #fff; padding: 20px 30px; margin: 0;
    font-size: 24px; font-weight: 600; line-height: 32px; color: var(--zab-ink);
}
.zmit .zab-cmp-cell {
    margin: 0; padding: 20px 30px; height: 100px;
    display: flex; align-items: center;
    font-size: 16px; font-weight: 500; line-height: 28px; color: #06001c;
    border: 1px solid var(--zab-line); border-top-width: 0;
}
.zab-cmp-cell a { color: var(--zab-accent); }
.zmit .zab-cmp-cell > span { display: block; width: 100%; }
.zab-cmp-col .zab-cmp-cell:first-of-type { border-top-width: 1px; border-radius: 10px 10px 0 0; }
/* Live's Criteria column: 70% white veil over two blue gradients; cells stay
   transparent so it shows. Never flatten this. */
.zab-cmp-col-0 {
    background:
        linear-gradient(0deg, rgba(255, 255, 255, .7), rgba(255, 255, 255, .7)),
        linear-gradient(102.79deg, #ecf1eb -4.21%, #aec8fd 44.41%, #84c3fc 93.03%),
        linear-gradient(102.29deg, #ecf1eb 8.75%, #aec8fd 45.11%, #84c3fc 81.46%);
}
.zab-cmp-col-0 .zab-cmp-cell { background: transparent; }
.zab-cmp-col-1 .zab-cmp-cell { background: var(--zab-fill); line-height: 23px; }
.zab-cmp-col-2 .zab-cmp-cell { background: #f9fcff; }
/* Row-count-independent stripes (7 rows here) — never enumerate rows. */
.zab-cmp-col-1 .zab-cmp-cell:nth-of-type(even) { background: #f9fcff; }
.zab-cmp-col-2 .zab-cmp-cell:nth-of-type(even) { background: #fff; }
/* Live hairlines EVERY cell of the Zazz column. */
.zab-cmp-col-1 .zab-cmp-cell { border-top-width: 1px; }
.zab-cmp-acc { display: none; }

/* ============================================================
   S07 COMPARISON ACCORDION — MOBILE/TABLET ONLY, native <details>.
   ============================================================ */
@media (max-width: 1080px) {
    .zab-cmp { display: none; }
    .zab-cmp-acc { display: block; }
}
.zmit .zab-cmp-acc.z-section { background: #fff; padding: 0 0 30px; }
.zab-acc-item { background: var(--zab-fill); border-radius: 10px; margin-bottom: 10px; overflow: hidden; }
.zab-acc-q {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 18px 22px; cursor: pointer; list-style: none;
    font-size: 18px; font-weight: 600; line-height: 1.4; color: var(--zab-ink);
}
.zab-acc-q::-webkit-details-marker { display: none; }
.zab-acc-sign { position: relative; flex: 0 0 16px; height: 16px; }
.zab-acc-sign::before,
.zab-acc-sign::after { content: ''; position: absolute; background: var(--zab-ink); }
.zab-acc-sign::before { left: 0; top: 7px; width: 16px; height: 2px; }
.zab-acc-sign::after { left: 7px; top: 0; width: 2px; height: 16px; transition: opacity .2s ease; }
.zab-acc-item[open] .zab-acc-sign::after { opacity: 0; }
.zab-acc-a { padding: 0 22px 20px; }
.zab-acc-row { display: flex; align-items: flex-start; gap: 12px; padding-top: 14px; }
.zab-acc-ico { flex: 0 0 22px; margin-top: 2px; }
.zab-acc-ico svg { display: block; width: 22px; height: 22px; }
.zmit .zab-acc-row h3 { font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--zab-ink); margin: 0 0 6px; }
.zmit .zab-acc-row p { font-size: 14px; font-weight: 400; line-height: 1.55; color: var(--zab-body); margin: 0; }

/* ============================================================
   S08 COMPLIANCE FRAMEWORKS BAND — #000, 6 badges (224x227 rendered).
   DARK BAND => LIGHT COPY. Never darken anything in here.
   ============================================================ */
.zmit .zab-certified.z-section { background: #000; padding: 65px 0 70px; }
.zmit .zab-certified h2 { font-size: 40px; font-weight: 600; line-height: 56px; color: #fff; text-align: center; margin: 0; }
.zmit .zab-certified > .z-container > p { font-size: 16px; font-weight: 400; line-height: 1.7; color: #c2c2c2; text-align: center; max-width: 800px; margin: 11px auto 0; }
.zab-certified > .z-container > p a { color: #fff; font-weight: 500; text-decoration: underline; }
.zab-certified-badges { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-top: 25px; align-items: center; }
/* Live renders the badges at natural aspect inside a 16px-gap grid; forcing an
   aspect-ratio stretch with gap:0 merges the PNGs' baked-in dark tiles into
   uneven runs (see CLAUDE.md). */
.zab-certified-badges img { width: 100%; height: auto; display: block; }

/* ============================================================
   S09 THREE-STEP PATH — #f2f7ff + waves art, 3 icon cards, CTA.
   ============================================================ */
.zmit .zab-steps.z-section { background: #f2f7ff; margin: 30px 0; padding: 54px 0 48px; }
.zmit .zab-steps h2 { font-size: 33.05px; font-weight: 600; line-height: 43px; color: var(--zab-ink); text-align: center; margin: 0 0 20px; }
.zmit .zab-steps-lead { font-size: 16px; font-weight: 400; line-height: 1.7; color: var(--zab-ink); text-align: center; margin: 0 0 10px; }
.zab-steps-art { display: block; width: 100%; height: auto; }
.zab-steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: -140px; padding-bottom: 10px; }
.zab-step { padding: 20px; text-align: center; }
.zab-step-ico {
    display: inline-flex; align-items: center; justify-content: center;
    width: 104px; height: 104px; border-radius: 50%; background: #fff;
    margin-bottom: 25px;
}
.zab-step-ico svg { display: block; width: 50px; height: 50px; }
.zmit .zab-step h3 { font-size: 20px; font-weight: 700; line-height: 1.2em; color: var(--zab-ink); margin: 0 0 12px; }
.zmit .zab-step p { font-size: 14px; font-weight: 500; line-height: 1.5em; color: var(--zab-body); margin: 0; }
.zab-step p a { color: var(--zab-accent); }
.zab-steps-cta { text-align: center; }

/* ============================================================
   S10 RECOGNIZED — #141414 box (1280 wide, the shared .zmit-recognized
   exception), light copy, three review logos at live's 70px, white CTA pill.
   DARK BAND => LIGHT COPY.
   ============================================================ */
.zmit .zmit-recognized.z-section { padding: 72px 0 28px; } /* live: 72 above the box, 28 below (sec 5292, box 5364 h327, sec h427) */
.zmit-recognized-band { padding: 30px 40px; } /* live box is 327 tall */
.zmit .zmit-recognized-copy h2 { font-size: 30px; font-weight: 300; line-height: 42px; color: #fff; }
.zmit .zmit-recognized-copy p { font-size: 16px; font-weight: 300; line-height: 1.7; color: #f2f7ff; max-width: 640px; }
.zmit-recognized-logos { gap: 36px; }
/* Live renders these 70px tall on this page (measured), not the model's 50. */
.zmit-recognized-logos img { height: 70px; width: auto; }
.zmit-recognized-cta .z-btn { background: #fcfcfc; color: #141414; border-radius: 8px; padding: 20px 28px; font-weight: 600; }
.zmit-recognized-cta .z-btn:hover { background: #b3d0ff; color: #141414; }

/* ============================================================
   S11 ENGAGEMENT MODELS — NEW. Measured on live at 1440:
   heading (a P, not an H2) 34.7px/400 #14142b, dark #262338 panel radius 15,
   FOUR equal columns 10px apart, cells padded 32px 25px, NO dividers,
   h3 18px/600 #f7f7fc, p 14px/24px #f7f7fc, left-aligned.
   DARK PANEL => LIGHT COPY.
   ============================================================ */
.zmit .zab-models.z-section { background: #fff; padding: 10px 0 0; } /* live: panel flush with section bottom */
.zmit .zab-models-eyebrow { font-size: 34.7px; font-weight: 400; line-height: 43px; color: var(--zab-ink); margin: 0 0 20px; }
.zab-models-panel {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 10px;
    background: var(--zab-dark); border-radius: 15px;
}
/* Re-measured on live at 1440 (2026-09-01): cards are CENTRE-aligned, separated
   by a 1px white rule (border-right on every cell), and the titles are
   underlined. This file's header note recorded "no dividers, left-aligned" —
   that was a mis-measurement; live reports textAlign `center`, borderRight
   `1px solid rgb(255,255,255)` and textDecorationLine `underline` on the h3.
   Padding untouched so the band stays 368. */
.zab-models-cell { padding: 32px 25px; text-align: center; border-right: 1px solid #fff; }
/* Live internals: h3 line-height 28, 20px widget gap, text widget padded 17
   top/bottom => tallest cell 294 (32+56+20+154+32). */
.zmit .zab-models-cell h3 { font-size: 18px; font-weight: 600; line-height: 28px; color: #f7f7fc; margin: 0 0 20px; text-decoration: underline; }
.zmit .zab-models-cell p { font-size: 14px; font-weight: 400; line-height: 24px; color: #f7f7fc; margin: 0; padding: 17px 0; }

/* ============================================================
   S12/S13 SUCCESS STORIES — image 250, 50px logo row, title, excerpt.
   Live's TaxVolt logo slot serves the featured image (live's own data);
   object-fit contain in the 50px box renders it exactly as live does.
   ============================================================ */
.zmit .zmit-stories.z-section { padding: 23px 0; }
.zmit-stories h2 { font-size: 29px; font-weight: 300; line-height: 1.5em; color: var(--zab-ink); margin-bottom: 30px; }
.zmit-story { background: #f5f6fb; border-radius: 10px; overflow: hidden; }
.zmit-story-img img { height: 250px; }
.zmit-story .body .zmit-story-logos { min-height: 50px; margin: 0 0 14px; display: flex; align-items: center; }
.zmit-story .body .zmit-story-logo {
    display: block; height: 50px; width: auto; max-width: 150px;
    object-fit: contain; object-position: left center;
}
.zmit-story .body { padding: 20px; }
.zmit-story h3 { font-size: 18px; font-weight: 700; line-height: 1.35; }
.zmit-story p { font-size: 14px; line-height: 1.6; }

/* ============================================================
   S14 ARTICLES — image + date + title only.
   ============================================================ */
.zmit .zmit-articles.z-section { padding: 42px 0; } /* live S14 is 604 */
.zmit-articles-head { margin-bottom: 29px; }
.zmit-articles-head h2 { font-size: 29px; font-weight: 300; line-height: 1.5em; color: var(--zab-ink); }
.zmit-articles-more {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 16px; font-weight: 500; color: var(--zab-accent);
    border-bottom: 1px solid var(--zab-accent); padding-bottom: 5px;
}
.zmit-articles-more:hover { color: #141414; border-color: #141414; }
.zab-chev svg { display: block; width: 14px; height: 14px; fill: currentColor; }
.zmit-articles-grid { gap: 30px; }
.zmit-article { border-radius: 10px; overflow: hidden; text-decoration: none; }
.zmit-article:hover h3 { color: var(--zab-accent); }
.zmit-article .body { padding: 24px 2px 32px; }
.zmit .zmit-article .date { font-size: 14px; font-weight: 400; color: #5e5e5e; margin: 0 0 12px; }
.zmit .zmit-article h3 { font-size: 24px; font-weight: 500; line-height: 36px; color: #000; margin: 0; transition: color .2s ease; }
.zmit .zmit-article-img img { height: 250px; }
/* Counter prefix span. Unused on this page — all three counters are
   suffix-only — but styled so the shared markup stays safe to copy. */
.zmit-stat .big .pre { font-size: inherit; font-weight: inherit; color: inherit; }

/* ============================================================
   S15 WHY ENTERPRISES RELY — 2x2 #eff0f7 cells, 20px padding; live renders
   SQUARE corners here (measured border-radius 0), h3 18/700, p 15/400.
   ============================================================ */
.zmit .zab-adv.z-section { background: #fff; padding: 24px 0 40px; } /* live S15 is 450 */
.zmit .zab-adv h2 { font-size: clamp(1.5rem, 1.311rem + 1.0081vw, 2.125rem); font-weight: 300; line-height: 1.3em; color: var(--zab-ink); margin: 0 0 50px; }
.zab-adv-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.zab-adv-card { background: var(--zab-fill); border-radius: 0; padding: 20px; }
.zmit .zab-adv-card h3 { font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--zab-ink); margin: 0 0 20px; }
.zmit .zab-adv-card p { font-size: 15px; font-weight: 400; line-height: 1.6; color: var(--zab-body); margin: 0; }

/* ============================================================
   S16 OUTCOMES THAT MATTER — #262338, copy | 3 counters. Measured on live:
   h2 eyebrow 16px, h3 34px, counters 57px #76aaff with the NUMBER ON TOP.
   DARK BAND => LIGHT COPY. Never set a dark colour on anything in here.
   ============================================================ */
.zmit-stats { background: var(--zab-dark); }
.zmit .zmit-stats.z-section { margin: 30px 0; padding: 30px 0; } /* live S16 is 320 */
/* The short line is the SMALL EYEBROW; the long sentence is the big heading. */
.zmit .zmit-stats-copy h2 {
    font-size: 16px;
    font-weight: 600; line-height: 19.2px; color: #fcfcfc; margin: 0 0 10px;
}
.zmit-stats-copy h3 {
    font-size: 34px;
    font-weight: 400; line-height: 44.2px; color: #fcfcfc; margin: 0 0 50px;
}
.zmit-stats-copy { max-width: none; }
@media (min-width: 1081px) {
    .zmit-stats-layout { grid-template-columns: 438fr 877fr; gap: 50px; align-items: center; }
    .zmit-stats-grid { grid-template-columns: repeat(3, 1fr); gap: 44px; align-items: start; }
}
.zmit-stat { display: flex; flex-direction: column; }
.zmit-stat p { font-size: 14px; font-weight: 400; line-height: 21px; color: #fcfcfc; margin: 0; }
.zmit-stat .big {/* Owner request 2026-08-31: the stat NUMBER is left-aligned so it shares a left edge with its label. Live centres the number inside the same column while the label is start-aligned, so short labels look detached from their figure. Deliberate deviation from live, applied on request. */ order: -1; text-align: left;
    font-size: 57px; font-weight: 600; color: #76aaff; line-height: 57px; margin: 0 0 18px;
}

/* ============================================================
   S17 TESTIMONIALS — 10 slides, gradient card.
   ============================================================ */
.zmit .zmit-testi.z-section { padding: 30px 0; }
.zmit-testi h2 { font-size: clamp(1.5rem, 1.311rem + 1.0081vw, 2.125rem); font-weight: 300; line-height: 1.3em; color: var(--zab-ink); margin-bottom: 50px; }
.zmit-testi-card {
    background-color: transparent;
    background-image: linear-gradient(100deg, #eef6f1 0%, #dce9fb 34%, #93b8fb 68%, #2f7bff 100%);
    min-height: 415px;
}
.zmit-testi-lead { font-size: 20px; line-height: 1.4; color: #1c1a33; margin-bottom: 18px; }

/* ============================================================
   S18 FAQ — #eff0f7, 11 items split 6 / 5 (break after item 6).
   NEVER write `padding: 25px 0` here — always restate the 22px horizontal.
   ============================================================ */
.zmit-faq { background: var(--zab-fill); }
.zmit .zmit-faq.z-section { padding: 40px 0; } /* live S18 is 920 */
.zmit-faq h2 { font-size: clamp(1.5rem, 1.311rem + 1.0081vw, 2.125rem); font-weight: 400; line-height: 1.3em; color: var(--zab-ink); margin-bottom: 30px; }
.zmit-faq-q { padding: 25px 22px; font-size: 18px; line-height: 27px; }
.zmit-faq-item { margin-bottom: 10px; }
.zmit-faq-item.open .zmit-faq-a-inner { padding: 0 22px 40px; }
.zmit-faq-list { column-gap: 30px; padding-right: 25px; }
/* Live ships two accordion widgets split 6 / 5; force the break after item 6.
   Gated above the phone breakpoint (a forced break at column-count:1 creates
   a second column and overflows the viewport). */
@media (min-width: 681px) {
    .zmit-faq-item:nth-child(6) { break-after: column; }
}
/* Inline links inside FAQ answers. */
.zmit .zmit-faq-a-inner p a { color: var(--zab-accent); }

/* ============================================================
   S19 STRUCTURE & CONFIDENCE — NEW. Measured on live at 1440:
   section #fcfcfc 697 tall; two 658 columns 50 apart (copy | photo);
   h2 34px #14142b; paragraphs 16px/26.4px #14142b; CTA 13px accent pill
   radius 8 padding 15/30; image 595x400 radius 10, vertically centred.
   ============================================================ */
.zmit .zab-lead.z-section { background: #fcfcfc; padding: 45px 0; }
.zab-lead-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.zmit .zab-lead-copy h2 { font-size: 34px; font-weight: 600; line-height: 1.3em; color: var(--zab-ink); margin: 0 0 30px; }
.zmit .zab-lead-copy p { font-size: 16px; font-weight: 400; line-height: 26.4px; color: var(--zab-ink); margin: 0 0 26px; }
.zmit .zab-lead-copy .zab-btn { margin-top: 8px; font-size: 13px; line-height: 16px; border-radius: 8px; }
.zab-lead-media img { display: block; width: 100%; max-width: 595px; height: auto; border-radius: 10px; margin-left: auto; }

/* ============================================================
   S20 FINAL CTA — live's band here is LIGHT: no gradient (measured — every
   wrapper transparent, ink #14142b), radius-5 box, copy left, 500x613 figure
   anchored to the banner bottom and overhanging its top by ~137px.
   ============================================================ */
.zmit .zmit-final.z-section { margin: 0; padding: 150px 0 79px; }
.zmit-final-banner {
    /* Re-measured on live 2026-09-01: the card DOES carry a gradient (the header
       note claiming "no gradient" was a mis-measurement, same as S11). Copied
       verbatim from live's computed backgroundImage on this page. */
    background: linear-gradient(102.29deg, #ecf1eb 8.75%, #aec8fd 45.11%, #84c3fc 81.46%);
    border-radius: 5px;
    padding: 50px;
    min-height: 477px;
    display: flex;
    align-items: center;
}
.zmit-final-copy { max-width: 50%; }
.zmit-final-copy h2 { font-size: 33.05px; font-weight: 600; line-height: 1.3em; color: var(--zab-ink); margin-bottom: 16px; }
.zmit-final-copy p { font-size: 17.16px; font-weight: 400; line-height: 25.2px; color: var(--zab-ink); max-width: 560px; margin: 0 0 26px; }
.zmit-final-media img { position: absolute; right: 0; bottom: 0; width: 500px; height: 613px; }

/* ============================================================
   S21 REQUEST A CONSULTATION — photo background, centred head, white card.
   ============================================================ */
.zmit-contact {
    background: url('https://dahqbtk1vlskk.cloudfront.net/wp-content/uploads/2025/05/18073038/0c4197f8712a54f098181b432285586af102e42d.webp') center/cover no-repeat;
    background-color: #1f4fd6;
}
.zmit .zmit-contact.z-section { padding: 50px 0; }
.zmit-contact .zmit-contact-head { max-width: 1100px; margin: 0 auto 30px; text-align: center; }
.zmit-contact-head h2 { font-size: 33.89px; font-weight: 300; line-height: 43px; color: #fcfcfc; }
.zmit-contact-head p { font-size: 16px; line-height: 1.7; color: #e6eaf2; max-width: 1000px; margin: 0 auto; }
.zmit-contact-form { border-radius: 8px; padding: 30px; max-width: 620px; }
.zmit-contact-form h3 { font-size: 25px; font-weight: 400; color: #6e7191; margin-bottom: 20px; }

/* ============================================================
   S22 PRE-FOOTER BAND — #000, logo + title + copy | two buttons.
   DARK BAND => LIGHT COPY.
   ============================================================ */
.zmit-insights-copy p.zmit-insights-title { font-weight: 400; border-left: 2px solid #fff; }
.zmit-insights-copy p:not(.zmit-insights-title) { font-weight: 400; color: #fff; }
.zmit-insights-btns a {
    background: #fff; color: #000; border: 1px solid #fff; border-radius: 5px;
    font-size: 16px; font-weight: 500; line-height: 24px; min-width: 0; justify-content: center;
}
.zmit-insights-btns a:last-child { background: transparent; color: #fff; }
.zmit-insights-btns a:hover { background: #b3d0ff; color: #000; border-color: #b3d0ff; }

@media (min-width: 1081px) {
    .zmit .zmit-insights.z-section { padding: 80px 0; }
    .zmit-insights-grid { grid-template-columns: 770px 280px; justify-content: space-between; gap: 0; align-items: start; }
    .zmit-insights-copy { grid-template-columns: 194px 1fr; column-gap: 20px; row-gap: 20px; align-items: center; }
    .zmit .zmit-insights-logo { height: 43px; width: 194px; }
    .zmit-insights-copy p.zmit-insights-title {
        font-size: 28px; line-height: 28px;
        padding-left: 20px; margin-left: 0; max-width: none;
    }
    .zmit-insights-copy p:not(.zmit-insights-title) {
        /* Owner request 2026-08-26: no dead space under this band — the section
           hugs its content. Deliberate deviation from live. */
        font-size: 20px; line-height: 28px; max-width: 770px; margin: 0;
    }
    .zmit-insights-btns { gap: 20px; }
    .zmit-insights-btns a { padding: 16px 30px; width: 280px; }
}

/* 1440 reconciliation carried from the model (same components). */
.zmit .zab-cmp-head h2 { font-weight: 400; text-align: left; }
@media (min-width: 1081px) {
    .zab-problems-cols { padding-bottom: 20px; }
    .zmit .zmit-bookcal h2 { font-size: 30px; line-height: 39px; font-weight: 400; margin-bottom: 10px; }
    .zmit .zmit-bookcal p { max-width: none; padding: 0 10px; margin: 0 0 20px; }
    .zmit-bookcal-embed,
    .zmit-bookcal-embed .meetings-iframe-container,
    .zmit-bookcal-embed iframe { height: 784px; }
    .zmit .zab-cmp-head h2 { font-size: 36.8px; line-height: 36.8px; }
    .zmit .zab-certified > .z-container > p { line-height: 26.4px; }
    .zab-certified-badges { margin-top: 27px; }
}

/* ============================================================
   TABLET (<=1080)
   ============================================================ */
@media (max-width: 1080px) {
    .zmit .zab-svc-lead { font-size: 27px; line-height: 1.25; }
    .zmit .zab-problems-head,
    .zmit .zab-cmp-head h2,
    .zmit .zab-steps h2 { font-size: 27px; line-height: 1.25; }
    .zmit .zab-certified h2 { font-size: 27px; line-height: 1.3; }
    .zmit .zab-problems-answer { font-size: 19px; line-height: 1.6; }
    .zab-tick-text { font-size: 16px; line-height: 26px; }
    .zab-problems-cols { grid-template-columns: 1fr; gap: 0; }
    .zmit .zmit-article h3 { font-size: 20px; line-height: 30px; }
    .zab-certified-badges { grid-template-columns: repeat(3, 1fr); }
    .zab-steps-grid { grid-template-columns: 1fr; margin-top: 0; }
    .zmit .zab-models-eyebrow { font-size: 24px; line-height: 1.3; margin-bottom: 20px; }
    .zab-models-panel { grid-template-columns: 1fr 1fr; gap: 0; }
    .zmit .zab-adv h2 { font-size: 27px; line-height: 1.25; }
    .zmit-stats-layout { grid-template-columns: 1fr; gap: 32px; }
    .zmit-stats-grid { grid-template-columns: repeat(3, 1fr); }
    .zmit-recognized-band { padding: 32px 26px; }
    .zmit .zmit-recognized.z-section { padding: 40px 0; }
    .zmit-recognized-logos img { height: 44px; }
    .zmit .zmit-insights.z-section { padding: 60px 0; }
    .zmit-insights-copy p.zmit-insights-title { font-size: 24px; }
    .zmit-insights-copy p:not(.zmit-insights-title) { font-size: 17px; line-height: 26px; }
    /* Stacked: figure sits under the copy. */
    .zmit .zmit-final.z-section { margin: 40px 0; padding: 0; }
    .zmit-final-banner { min-height: 0; padding: 36px 32px 0; display: block; }
    .zmit-final-copy { max-width: 100%; }
    .zmit-final-media img { position: static; width: 280px; height: auto; margin: 16px auto 0; }
    .zab-lead-grid { grid-template-columns: 1fr; gap: 24px; }
    .zab-lead-media img { margin: 0 auto; }
    .zmit .zab-lead-copy h2 { font-size: 27px; }
    .zmit-hero-left { padding-bottom: 0; }
    .zmit-testi-card { min-height: 0; }
}

@media (max-width: 1080px) and (min-width: 681px) {
    .zmit-services-grid { grid-template-columns: repeat(2, 1fr); }
    .zmit-articles-grid { grid-template-columns: repeat(2, 1fr); }
    .zab-adv-grid { grid-template-columns: repeat(2, 1fr); }
    .zmit-bookcal-embed,
    .zmit-bookcal-embed .meetings-iframe-container { height: auto; min-height: 714px; }
    .zmit .zmit-bookcal.z-section { padding: 30px 0 27px; }

    /* Steps stay three-up on tablet, lifted onto the waves art. */
    .zmit .zab-steps.z-section { margin: 30px 0; padding: 30px 0; }
    .zmit .zab-steps h2 { font-size: 33.05px; line-height: 42.965px; margin-bottom: 20px; }
    .zmit .zab-steps-lead { font-size: 16px; line-height: 26.4px; margin-bottom: 20px; }
    .zab-steps-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: -100px; padding-bottom: 10px; }
    .zab-step { padding: 20px 10px; }

    .zmit .zmit-stats.z-section { margin: 30px 0; padding: 30px 0; }
    .zmit-stats-layout { gap: 50px; }
    .zmit-stats-copy h3 { font-size: 26px; line-height: 35px; margin-bottom: 20px; }
    .zmit-stats-grid { gap: 36px; }

    .zmit-recognized-band { grid-template-columns: 1fr; gap: 24px; padding: 60px 26px; }
    .zmit .zmit-recognized-copy h2 { font-size: 24px; line-height: 32px; }

    .zab-problems-cols { grid-template-columns: 1fr 1fr; gap: 0 40px; padding-bottom: 20px; }
    .zmit .zab-problems-head { font-size: 31px; line-height: 40.3px; }
    .zmit .zab-problems-answer { font-size: 22px; line-height: 37.4px; }

    .zab-acc-q { padding: 26px 22px; }
    .zmit .zab-cmp-acc.z-section { padding: 0 0 40px; }

    .zmit-final-media img { width: 363px; height: auto; }

    .zmit .zmit-insights.z-section { padding: 80px 0; }
    .zmit-insights-grid { grid-template-columns: 400px 218px; justify-content: space-between; gap: 0; align-items: start; }
    .zmit-insights-btns { gap: 20px; }
    .zmit-insights-btns a { width: 218px; padding: 16px 30px; }

    .zmit .zmit-articles.z-section { padding: 25px 0; }
    .zmit-services-grid .zmit-svc-card { padding: 0 10px; }

    .zmit .zmit-testi.z-section { padding: 20px 0; }
    .zmit-testi h2 { margin-bottom: 20px; }

    .zab-models-cell { padding: 36px 25px; }

    /* Hero headline wraps sensibly at 768. */
    .zmit-hero .zmit-hero-headline { font-size: 40.98px; line-height: 49.17px; }
    .zmit-hero-grid { padding-bottom: 114px; }
}

/* ============================================================
   PHONE (<=680)
   ============================================================ */
@media (max-width: 680px) {
    .zmit .zmit-services.z-section  { padding: 20px 0; }
    .zmit .zab-problems.z-section   { padding: 40px 0; }
    .zmit .zab-cmp-acc.z-section    { padding: 0 0 40px; }
    .zmit .zab-certified.z-section  { padding: 48px 0; }
    .zmit .zab-steps.z-section      { margin: 30px 0; padding: 20px 0 30px; }
    .zmit .zmit-recognized.z-section { padding: 30px 0; }
    .zmit .zab-models.z-section     { padding: 24px 0 40px; }
    .zmit .zmit-stories.z-section   { padding: 8px 0; }
    .zmit .zmit-articles.z-section  { padding: 48px 0; }
    .zmit .zab-adv.z-section        { padding: 24px 0; }
    .zmit .zmit-stats.z-section     { margin: 30px 0; padding: 40px 0; }
    .zmit .zmit-testi.z-section     { padding: 20px 0; }
    .zmit .zmit-faq.z-section       { padding: 67px 0; }
    .zmit .zmit-contact.z-section   { padding: 40px 0; }
    .zmit .zmit-insights.z-section  { padding: 40px 0; }
    .zmit .zab-lead.z-section       { padding: 30px 0; }
    .zmit .zmit-bookcal.z-section   { padding: 0; }

    .zmit .zab-svc-lead { font-size: 24px; line-height: 32px; }
    .zmit .zab-problems-head,
    .zmit .zab-cmp-head h2,
    .zmit .zab-certified h2,
    .zmit .zab-adv h2 { font-size: 24px; line-height: 32px; }
    .zmit .zab-steps h2 { font-size: 26px; line-height: 33.8px; margin-bottom: 20px; }
    .zmit .zab-steps-lead { font-size: 14px; line-height: 23.1px; margin-bottom: 40px; }
    .zab-steps-grid { margin-top: -70px; gap: 40px; padding-bottom: 30px; }
    .zmit .zab-problems-answer { font-size: 16px; line-height: 25px; }
    .zab-tick-text { font-size: 15px; line-height: 24px; }
    .zmit .zab-step h3 { font-size: 18px; }
    .zab-step { padding: 14px 0; }
    .zab-step-ico { width: 88px; height: 88px; margin-bottom: 18px; }
    .zab-step-ico svg { width: 42px; height: 42px; }
    .zmit-testi-lead { font-size: 18px; line-height: 26px; }
    .zmit-testi-quote { font-size: 14px; line-height: 22px; }
    .zab-models-panel { grid-template-columns: 1fr; gap: 0; }
    .zab-models-cell { padding: 24px 20px; }
    .zmit .zab-models-eyebrow { font-size: 22px; line-height: 30px; }
    .zab-certified-badges { grid-template-columns: repeat(3, 1fr); gap: 10px; }
    .zmit-services-grid { grid-template-columns: 1fr; gap: 20px; }
    .zmit-articles-grid { grid-template-columns: 1fr; gap: 24px; }
    .zab-adv-grid { grid-template-columns: 1fr; }
    .zmit-stats-grid { grid-template-columns: 1fr; gap: 20px; }
    .zmit-stats-layout { gap: 50px; }
    .zmit-stats-copy h3 { font-size: 20px; line-height: 29.7px; margin-bottom: 20px; }
    .zab-acc-q { padding: 14px 16px; font-size: 16px; }
    .zab-acc-a { padding: 0 16px 16px; }
    .zmit-story-img img { height: 240px; }
    .zmit-faq-q { padding: 16px; font-size: 15px; line-height: 22px; }
    .zmit-faq-item.open .zmit-faq-a-inner { padding: 0 16px 24px; }
    .zmit-recognized-band { padding: 46px 26px; }
    .zmit .zmit-recognized-copy h2 { font-size: 20px; line-height: 28px; }
    .zmit-recognized-logos img { height: 36px; }
    .zmit-insights-copy p.zmit-insights-title { font-size: 21px; padding-left: 14px; margin-left: 14px; }
    .zmit-insights-btns { gap: 20px; }
    .zmit-insights-btns a { width: 100%; padding: 14px 28px; }
    .zmit-insights-grid { grid-template-columns: 1fr; gap: 20px; }
    .zmit-bookcal-embed,
    .zmit-bookcal-embed .meetings-iframe-container { height: auto; min-height: 524px; }
    .zmit-final-media img { width: 260px; height: auto; max-height: 320px; }
    .zmit .zab-lead-copy h2 { font-size: 22px; }
    .zmit .zab-lead-copy p { font-size: 15px; line-height: 24px; }

    /* Hero type: tighter on phones */
    .zmit-hero .zmit-hero-headline { font-size: 24px; line-height: 1.3; }
    .zmit-hero .zmit-hero-sub { font-size: 14px; line-height: 1.55; }
    .zmit-form-card h3 { font-size: 16px; line-height: 1.4; }
    .zmit-hero-grid { padding-bottom: 14px; }

    /* Marquee chips scale down with the viewport */
    .zmit .zmit-trust-band { padding: 12px 0 24px; }
    .zmit .zmit-trust-chip { width: 140px; height: 56px; }
    .zmit .zmit-trust-chip img { max-height: 46px; max-width: 128px; }

    /* Recognition CTA: the shared .z-btn is nowrap and overflows the dark box
       with long labels at 375 — only a 375 screenshot catches it. */
    .zmit .zmit-recognized-cta .z-btn { white-space: normal; text-align: center; }
}

/* Mobile content reduction (owner approved 2026-08-26: hide where necessary
   keeping the essence). CSS-only hides — markup, links and SEO text stay in
   the DOM, so interlinking is unchanged. */
@media (max-width: 680px) {
    /* Article cards: keep title/meta/link, drop the artwork */
    .zmit-articles .zmit-article-img, .zmit-articles img { display: none; }
    /* Story cards: image + logo + title; excerpt is desktop detail */
    .zmit-stories .zmit-story .body p { display: none; }
    /* Articles read as a list once artwork is hidden — hairline the items */
    .zmit .zmit-articles-grid .zmit-article { border-bottom: 1px solid rgba(6, 0, 28, .1); padding-bottom: 18px; }
    .zmit .zmit-articles-grid .zmit-article:last-child { border-bottom: 0; padding-bottom: 0; }
}

/* ============================================================
   OWNER OVERRIDE 2026-09-01 — service cards use the HOUSE style
   ============================================================
   Live renders this page's twelve service cards FLAT (transparent, no border,
   no link, no hover) and the block earlier in this sheet matched that
   measurement. Owner's call after reviewing the family previews: every other
   services band on the site uses the bordered #eff0f7 card, and a flat card
   reads as unstyled next to them. DELIBERATE divergence from live, applied on
   request; values from the live, approved accounting page. The cards still
   carry NO links, so there is no hover state to restyle — hover is pinned to
   the resting fill so the earlier transparent-hover rule cannot flicker.
   Grid column counts and gutters stay as measured on THIS page. */
.zmit-services-grid .zmit-svc-card {
    display: flex;
    flex-direction: column;
    background: var(--zab-fill);
    border: 1px solid #eff0f7;
    border-radius: 10px;
    padding: 30px;
    text-decoration: none;
}
@media (max-width: 680px) {
    .zmit-services-grid .zmit-svc-card { padding: 26px; }
}
.zmit-services-grid .zmit-svc-card:hover,
.zmit-services-grid .zmit-svc-card:focus-within { background: var(--zab-fill); }
@media (max-width: 1080px) and (min-width: 681px) {
    .zmit-services-grid .zmit-svc-card { padding: 22px; }
}

/* OWNER FIX 2026-09-01: the advantages heading stacked its own 50px bottom
   margin on the copy block's spacing, opening a void between title and cards.
   Same fix as the rest of the family. */
.zab-adv .zab-adv-copy h2, .zmit .zab-adv h2 { margin-bottom: 0; }

/* OWNER FIX 2026-09-01: hero form card matches the family — stretched to the
   hero row, floored at the approved reference height (612 at 1440), content
   centred so slack splits top and bottom instead of pooling under the privacy
   note. Values from the live accounting page via the family review pass. */
@media (min-width: 1081px) {
    .zmit-form-card { height: 100%; align-self: stretch; min-height: 612px; display: flex; flex-direction: column; justify-content: center; }
}
