/* ============================================================
   Co-Managed IT Services — page-specific layer.
   ROOT-LEVEL PAGE, 21 SECTIONS, live https://www.zazz.io/co-managed-it-services

   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 — this page shares 41% of
   its depth-1 body ids with charlotte (820bdff hero, 8020c71 certified,
   1faf4e0 recognized, a86e67a stories, 9d19ee4 stats, 65e1765 testimonials,
   070907d final, 7572440 contact, a8ff3b4 pre-footer), so those components'
   measured values carry with per-page deltas only.

   MEASURED DELTAS — read off THIS page's rendered DOM at 1440 (devtools,
   emulated 1440x1000), never computed from CSS:
     - hero banner URL (Co-managed-IT-services-banner-scaled.webp, must equal
       the <link rel=preload> in the page). Live banner 633 tall, form card
       515x690 overhanging ~97px into the logo strip — the shared component's
       geometry produces this from the content, no page override needed.
     - S02 services head is ONE line (icon-box DESCRIPTION only, 34.7/400/43,
       left) — no H2 eyebrow on this page.
     - S02 card hover: this page uses the CITY hover — measured with a real
       pointer + a 150ms sampler (hovered:true asserted, resting sibling
       control): border #eff0f7 -> #0161ff, fill #eff0f7 -> #d5e0f3, CTA
       none -> block, transform none -> translate(-10px,-10px), .3s. This
       DIFFERS from charlotte (measured there: no border change, no lift).
     - S02 li::marker is rgb(20,20,43) at 14px on this page (charlotte's live
       is #adadec — measured per page, not carried).
     - S03 comparison: SIX rows; the odd/even stripe + every-row Zazz hairline
       rules from charlotte are row-count-independent and reproduce live
       exactly (verified cell-by-cell). NO mobile accordion twin exists on
       this page — the three columns STACK full-width below 768 (measured at
       375: cols wrap to 375w, 15px apart).
     - S04 problems: heading is LEFT aligned (charlotte's is centred) and a
       lead paragraph (16/400/26.4) sits between heading and lists. CTA pill
       measured 16px/500, padding 13px 35px.
     - NEW .zab-ext (9be8782): h2 34/300/44.2 + 2x2 grid of #eff0f7 cards,
       radius 0 (live's own), pad 20, title 18/700/23.4, copy 15/400/24.75.
     - NEW .zab-proc (cafeec5): copy LEFT (h2 30/400/39 + 16/26.4 paras with
       inline links) | DARK accordion RIGHT (5 items, none open, #262338
       summaries 25px pad, title 18/400/27 #fcfcfc, blue +/-, answer
       16/400/25.6 #d9dbe9). Two 50% columns, side by side down to 768.
     - S18 FAQ items are the SAME dark accordion treatment (measured: summary
       bg #262338, radius 5, pad 25, title 18/400/27 #fcfcfc, answer p
       16/400/25.6 #d9dbe9 inset 20), NOT charlotte's light cards. 6/5 split.
     - Stats: 3 counters (50%, 40%, 30%), band 336 tall at 1440 (pad 50).
     - Blogs (68226f5): heading "Blogs" 39/400/58.5; cards carry a CATEGORY
       term (16/400 #000 — a div, not a link), date 14/400 #5e5e5e, title
       24/500/36 #000; "Explore All Blogs" is 16/500 #141414 with a #141414
       underline (NOT accent — measured).
     - Recognition logos render at native size (130x70 / 186x62 / 203x70),
       not charlotte's 50px normalisation.
     - Trust cells pad 32px 25px (charlotte 37); section pad 30 top.
     - Pre-footer title carries NO left border on this page (measured 0px).
   Sections charlotte has that this page does NOT: .zab-cmp-acc (S08),
   .zab-steps (S10), .zab-adv (S15). Their rules are dropped, not hidden.
   ============================================================ */
.zmit {
    --zab-ink: #14142b;
    --zab-accent: #0161ff;
    --zab-body: rgba(20, 20, 20, .7);
    --zab-line: rgba(6, 0, 28, .12);
    --zab-fill: #eff0f7;
    --zab-dark: #262338;
}

/* Owner decision 2026-08-26: house centred box (shared .z-container = 1400px,
   0 30px gutter) even where live runs wider. Do NOT widen. */

/* ============================================================
   1. HERO — live at 1440: banner img 633 tall (object-fit:fill => 100% 100%),
   form card 515x690 at y140 overhanging ~97px into the 125px logo strip,
   headline 54px/600 (4 lines) on live; the 42px below is the owner's approved
   family-wide reduction (charlotte, 2026-08-26), carried deliberately.
   ============================================================ */
.zmit-hero::before {
    background: url('https://dahqbtk1vlskk.cloudfront.net/wp-content/uploads/2025/09/11091241/Co-managed-IT-services-banner-scaled.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; }
    .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. */
    .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; }
    /* Form card stretched to the row, overhanging the banner into the logo
       strip (live: card 515x690 at y140, banner ends y733 => ~97 overhang). */
    .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; }
    .zmit-hsform .hsfc-Row { margin-bottom: 8px !important; }
    .zmit-hsform input, .zmit-hsform textarea, .zmit-hsform select,
    .zmit-hsform .hsfc-TextInput, .zmit-hsform .hsfc-TextareaInput { padding: 8px 12px !important; }
    .zmit-hsform .hsfc-TextareaInput, .zmit-hsform textarea { min-height: 56px !important; }
    .zmit-hsform .hsfc-Button, .zmit-hsform button[type="submit"] { padding: 10px !important; }
}

/* Scroll cue — bare 30px chevron, no disc (family value). */
.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 — family value (bounded chips, speed synced from track width). */
.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 — label first, then arrow (family value).
   ============================================================ */
.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 — live on THIS page: 16px/500, #0161ff on #f2f7ff,
   13px 35px pad, 8px radius, 42 tall, centred. */
.zmit .zab-problems-cta .zab-btn {
    background: #f2f7ff; color: var(--zab-accent);
    font-size: 16px; line-height: 16px; font-weight: 500;
    padding: 13px 35px; border-radius: 8px; gap: 20px;
}
.zmit .zab-problems-cta .zab-btn:hover { background: #e2ecff; color: var(--zab-accent); }
/* Stats CTA pill (light on the dark band) — family value. */
.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+S03 SERVICES — head strip is ONE line (live 8472ac6 icon-box
   DESCRIPTION, 34.7/400/43, left, no eyebrow), then 12 cards, FOUR columns
   (live 1440: 337.5px x4, gap 30, .uc_content #eff0f7 pad 30, radius 10,
   1px #eff0f7 border, title 18/700/23.4, li 14/400/23.1, native disc marker
   rgb(20,20,43) 14px, CTA .uc_more_btn 14/700 #000 gap 14 margin-top 10).
   ============================================================ */
.zmit .zmit-services.z-section { padding: 5px 0 20px; }
.zmit-services-head { margin-bottom: 15px; }
.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: 30px; }
.zmit-services-grid .zmit-svc-card {
    background: var(--zab-fill);
    border: 1px solid #eff0f7;
    border-radius: 10px;
    padding: 30px;
    display: flex;
    flex-direction: column;
}
.zmit-services-grid .zmit-svc-card h3 { font-size: 18px; font-weight: 700; line-height: 23.4px; color: var(--zab-ink); margin: 0 0 20px; }
/* Native disc marker — the shared sheet's ::before bullet is disabled so the
   marker is not drawn twice (CLAUDE.md 7). Marker colour measured on THIS
   page's live: rgb(20,20,43) (charlotte's is #adadec — per-page value). */
.zmit-services-grid .zmit-svc-card ul { margin: 0; padding-left: 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: #14142b; font-size: 14px; }
.zmit-services-grid .zmit-svc-card li a { color: var(--zab-accent); }
/* Per-card interlink: #000 label, 14x8 currentColor arrow, no hover restyle
   of the label itself (live's .uc_more_btn:hover keeps #000). */
.zmit .zmit-svc-more {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    align-self: flex-start;
    font-size: 14px;
    font-weight: 700;
    line-height: 23.1px;
    color: #000;
    text-decoration: none;
}
.zmit .zmit-svc-more svg { flex: 0 0 auto; }
.zmit-svc-card.no-image .zmit-svc-media { display: none; }
/* CTA hidden at rest but KEEPS ITS SPACE (visibility, never display:none, so
   the card cannot grow on hover); margin-top:auto pins it to the card foot so
   the row of CTAs lines up whatever each card's bullets wrap to. */
.zmit-services-grid .zmit-svc-card .zmit-svc-more { visibility: hidden; margin-top: auto; padding-top: 10px; }
.zmit-services-grid .zmit-svc-card:hover .zmit-svc-more,
.zmit-services-grid .zmit-svc-card:focus-within .zmit-svc-more { visibility: visible; }
/* HOVER — measured on THIS page's live with a real pointer and a 150ms
   sampler (hovered:true asserted; resting sibling read in the same pass):
   fill -> #d5e0f3, border -> #0161ff, card lifts translate(-10px,-10px),
   CTA reveals, .3s. This is the CITY hover; charlotte measured NO lift and
   NO border change — do not carry either way without re-measuring. */
.zmit-services-grid .zmit-svc-card { transition: background-color .3s, border-color .3s, transform .3s; }
.zmit-services-grid .zmit-svc-card:hover,
.zmit-services-grid .zmit-svc-card:focus-within {
    background: #d5e0f3;
    border-color: #0161ff;
    transform: translate(-10px, -10px);
}
@media (prefers-reduced-motion: reduce) {
    .zmit-services-grid .zmit-svc-card:hover,
    .zmit-services-grid .zmit-svc-card:focus-within { transform: none; }
}

/* ============================================================
   S04+S05 COMPARISON — head strip d21c9c7 (h2 36.8/36.8, 40 below), then the
   6-row table ab8218e: 3 columns, 15 gap, header cells #fff 24/600/32 h72,
   body cells 16/500/28 #06001c h100. Zazz column #eff0f7 hairlined on EVERY
   row; stripes odd/even (row-count-independent — never enumerate rows).
   NO accordion twin on this page: below 768 the columns stack full width.
   ============================================================ */
.zmit .zab-cmp-head.z-section { background: #fff; padding: 20px 0; }
.zmit .zab-cmp-head h2 { font-size: 36.8px; line-height: 36.8px; font-weight: 400; text-align: left; color: var(--zab-ink); margin: 0; }

.zmit .zab-cmp.z-section { background: #fff; padding: 0; }
.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; }
/* Criteria column: live's 3-layer gradient (70% white veil over two blue
   gradients), cells transparent so it shows. Never flatten it. */
.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; }
/* Odd/even stripes — verified cell-by-cell on THIS page's live (6 rows):
   Zazz col: odd = the column's #eff0f7, even = #f9fcff (every row hairlined);
   Others:   odd = #f9fcff, even = #fff (only row 1 hairlined). */
.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; }
.zab-cmp-col-1 .zab-cmp-cell { border-top-width: 1px; }
/* Below 768 live stacks the three columns full-width, 15px apart (measured
   at 375: each column 375 wide, tops 15px apart). The 15px grid gap carries. */
@media (max-width: 767px) {
    .zab-cmp-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   S06 PROBLEMS — live 32ef6ab: white, 30px vertical padding.
   Heading 33.05/600/43 LEFT (charlotte centres; this page does not), then a
   16/400/26.4 lead, two 4-item icon-list columns, a 24/400/43.2 CENTRED
   answer, and the centred CTA pill.
   ============================================================ */
.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: left; margin: 0 0 30px; }
.zmit .zab-problems-lead { font-size: 16px; font-weight: 400; line-height: 26.4px; color: var(--zab-ink); margin: 0 0 30px; }
.zab-problems-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; margin-bottom: 30px; padding-bottom: 20px; }
.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; }

/* ============================================================
   S07 "EVERYTHING YOUR BUSINESS NEEDS" BAND — live cac1256: pad 50 0,
   video column 787 | gap 50 | copy 559 (h2 30/600/39, full-width CTA,
   hanging-quote blockquote). Same composition as charlotte's zab-band,
   proportions re-measured on this page.
   ============================================================ */
.zmit .zab-band.z-section { background: #fff; margin: 0; padding: 50px 0; }
.zab-band-inner { display: grid; grid-template-columns: 787fr 559fr; gap: 50px; align-items: center; }
.zab-band-media { min-width: 0; }
.zab-band-video { display: block; width: 100%; height: auto; aspect-ratio: 787 / 443; background: #000; }
.zab-band-copy { display: flex; flex-direction: column; gap: 40px; padding: 50px 0; }
.zmit .zab-band h2 { font-size: 30px; font-weight: 600; line-height: 39px; color: var(--zab-ink); margin: 0; }
.zmit .zab-band-btn {
    display: flex; width: 100%; justify-content: flex-start;
    font-size: 14px; line-height: 14px; font-weight: 500;
    padding: 16px 30px; border-radius: 0;
    background: var(--zab-accent); color: #f2f7ff;
}
.zmit .zab-band-btn:hover { background: #0a4fd0; color: #f2f7ff; }
.zmit .zab-band-quote { position: relative; margin: 0 20px 0 40px; padding: 0; }
.zmit .zab-band-quote::before {
    content: '\201C'; position: absolute; top: -20px; left: -45px;
    font-size: 70px; line-height: 1; color: var(--zab-accent);
}
.zmit .zab-band-quote p { font-size: 18px; font-weight: 600; line-height: 23.4px; color: var(--zab-ink); margin: 0; }
.zmit .zab-band-quote footer { margin-top: 15px; }
.zmit .zab-band-quote cite { display: block; font-style: normal; font-size: 14px; font-weight: 400; line-height: 1.5; color: var(--zab-body); }

/* ============================================================
   S08 BOOK A FREE CONSULTATION — live 9f003ed: 30px top pad, h2 30/400/39,
   copy full-width, meetings iframe 764 at 1440.
   ============================================================ */
.zmit .zmit-bookcal.z-section { padding: 30px 0 20px; }
.zmit .zmit-bookcal h2 { font-size: 30px; line-height: 39px; font-weight: 400; color: var(--zab-ink); text-align: center; margin-bottom: 10px; }
.zmit .zmit-bookcal p { font-size: 16px; font-weight: 400; line-height: 1.6; color: var(--zab-ink); text-align: center; max-width: none; padding: 0 10px; margin: 0 0 20px; }
.zmit-bookcal-embed,
.zmit-bookcal-embed .meetings-iframe-container,
.zmit-bookcal-embed iframe { height: 764px; min-height: 0; }

/* ============================================================
   S09 COMPLIANCE BAND — live 8020c71 (same id as charlotte): #000,
   65px top pad, h2 40/600/56 #fff centred, copy 16/26.4 #c2c2c2 max 800,
   six badges (227x230 rendered — object-fit:fill).
   DARK BAND => LIGHT COPY.
   ============================================================ */
.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: 26.4px; 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: 27px; 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; }

/* ============================================================
   S10 CO-MANAGED EXTENSION — live 9be8782 (NEW, no charlotte equivalent).
   Measured at 1440: 30px top pad, h2 34/300/44.2 LEFT, 50 to the grid;
   grid 2x2, cols 675.5, gap 30, rows 133; cards #eff0f7, pad 20, RADIUS 0
   (live's own — not the family 10px), h3 18/700/23.4 #141414 with 20 below,
   p 15/400/24.75 rgba(20,20,20,.7). 30px bottom pad.
   ============================================================ */
.zmit .zab-ext.z-section { background: #fff; padding: 30px 0; }
.zmit .zab-ext h2 { font-size: 34px; font-weight: 300; line-height: 44.2px; color: var(--zab-ink); margin: 0 0 50px; }
.zab-ext-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.zab-ext-card { background: var(--zab-fill); border-radius: 0; padding: 20px; }
.zmit .zab-ext-card h3 { font-size: 18px; font-weight: 700; line-height: 23.4px; color: #141414; margin: 0 0 20px; }
.zmit .zab-ext-card p { font-size: 15px; font-weight: 400; line-height: 24.75px; color: var(--zab-body); margin: 0; }
/* Underlined, not colour-only: link-in-text-block (a11y) — the card copy is
   rgba(20,20,20,.7), too close in luminance for colour alone to mark a link. */
.zab-ext-card p a { color: #0154db; text-decoration: underline; }

/* ============================================================
   S11 PROVEN PROCESS — live cafeec5 (NEW): 30px vertical pad, TWO 50%
   columns side by side (left copy x21 w700 | right accordion x721 w700,
   the accordion column padded 0 30). Left: h2 30/400/39 + two 16/400/26.4
   paragraphs (inline links #046bd2, no underline). Right: 5 dark <details>
   (see the shared dark-accordion rules below), none open at rest.
   Live keeps the two columns side by side at 768 and stacks at 375.
   ============================================================ */
.zmit .zab-proc.z-section { background: #fff; padding: 30px 0; }
.zab-proc-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: start; }
.zab-proc-copy { padding-right: 20px; }
.zmit .zab-proc-copy h2 { font-size: 30px; font-weight: 400; line-height: 39px; color: var(--zab-ink); margin: 0 0 25px; }
.zmit .zab-proc-copy p { font-size: 16px; font-weight: 400; line-height: 26.4px; color: var(--zab-ink); margin: 0 0 20px; }
.zmit .zab-proc-copy p:last-child { margin-bottom: 0; }
.zmit .zab-proc-copy p a { color: #046bd2; text-decoration: none; }
.zab-proc-acc { padding: 0 30px; }

/* ============================================================
   DARK ACCORDION — shared by S11 (process) and S18 (FAQ). Measured on live:
   item #262338, radius 5, margin-bottom 7; summary pad 25, title 18/400/27
   #fcfcfc, blue +/- pinned right; answer p 16/400/25.6 #d9dbe9 inset
   0 20px 20px. The whole card stays dark when open.
   DARK CARD => LIGHT COPY: never darken the text in here.
   ============================================================ */
.zab-dacc-item { background: var(--zab-dark); border-radius: 5px; margin-bottom: 7px; overflow: hidden; }
.zab-dacc-item:last-child { margin-bottom: 0; }
.zab-dacc-q {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 25px; cursor: pointer; list-style: none;
    font-size: 18px; font-weight: 400; line-height: 27px; color: #fcfcfc;
}
.zab-dacc-q::-webkit-details-marker { display: none; }
.zab-dacc-sign { position: relative; flex: 0 0 14px; height: 14px; }
.zab-dacc-sign::before,
.zab-dacc-sign::after { content: ''; position: absolute; background: var(--zab-accent); }
.zab-dacc-sign::before { left: 0; top: 6px; width: 14px; height: 2px; }
.zab-dacc-sign::after { left: 6px; top: 0; width: 2px; height: 14px; transition: opacity .2s ease; }
.zab-dacc-item[open] .zab-dacc-sign::after { opacity: 0; }
.zab-dacc-a { padding: 0 20px 20px; }
.zmit .zab-dacc-a p { font-size: 16px; font-weight: 400; line-height: 25.6px; color: #d9dbe9; margin: 0; }
.zab-dacc-a p a { color: #9dc2ff; text-decoration: underline; }
.zab-dacc-a p strong { font-weight: 600; }

/* ============================================================
   S12 WHY BUSINESSES CHOOSE — live 109e139 (charlotte's zab-trust, same
   template): 30px top pad, eyebrow 34.7/400/43 with 52 below, #262338 panel
   radius 15, 4 columns gap 0 10, cells pad 32px 25px with 1px #fff right
   border (last none), 100px icons, h2 15/700 underlined #fff,
   h3 15/600/28 #f7f7fc, all centred. DARK PANEL => LIGHT COPY.
   ============================================================ */
.zmit .zab-trust.z-section { background: #fff; padding: 30px 0 20px; }
.zmit .zab-trust-eyebrow { font-size: 34.7px; font-weight: 400; line-height: 43px; color: var(--zab-ink); margin: 0 0 52px; }
.zab-trust-panel {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 10px;
    background: var(--zab-dark); border-radius: 15px;
}
.zab-trust-cell {
    padding: 32px 25px; text-align: center;
    border-right: 1px solid #fff;
}
.zab-trust-cell:last-child { border-right: 0; }
.zab-trust-ico { display: block; margin: 0 auto 24px; }
.zab-trust-ico svg { display: block; width: 100px; height: 100px; margin: 0 auto; }
.zmit .zab-trust-cell h2 { font-size: 15px; font-weight: 700; line-height: 21px; color: #fff; text-decoration: underline; margin: 0 0 12px; }
.zmit .zab-trust-cell h3 { font-size: 15px; font-weight: 600; line-height: 28px; color: #f7f7fc; margin: 0; }

/* ============================================================
   S13 RECOGNITION — live 1faf4e0: 42px above / 28px below a #141414 box
   (pad 40, radius 10); h2 30/300/42 #fff; copy 16/300 #f2f7ff; logos at
   NATIVE size (130x70 / 186x62 / 203x70 — not normalised to 50px here);
   CTA #fcfcfc pill. DARK BAND => LIGHT COPY.
   ============================================================ */
.zmit .zmit-recognized.z-section { padding: 42px 0 28px; }
.zmit-recognized-band { padding: 40px; }
.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; min-height: 70px; }
.zmit-recognized-logos img { height: auto; max-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; }
/* Shared .z-btn is white-space:nowrap; this page's long CTA label overflows
   the dark box at 375 (known family bug — only a 375 screenshot catches it). */
@media (max-width: 680px) {
    .zmit .zmit-recognized-cta .z-btn { white-space: normal; text-align: center; }
}

/* ============================================================
   S14 SUCCESS STORIES — live a86e67a: 50px top pad, h2 30/300/39 with 20
   below, 3 cards. Brand-logo treatment carried from the approved family
   rule (50px-tall left-aligned box).
   ============================================================ */
.zmit .zmit-stories.z-section { padding: 50px 0 30px; }
.zmit-stories h2 { font-size: 30px; font-weight: 300; line-height: 39px; color: var(--zab-ink); margin-bottom: 20px; }
.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; }

/* ============================================================
   S15 STATS — live 9d19ee4 (same id as charlotte): #262338, pad 50, 2 cols
   (copy | 3 counters). h2 eyebrow 16/600/19.2, h3 34/400/44.2, both #fcfcfc.
   Counters 50% / 40% / 30%, number 57/600 #76aaff ON TOP, label 14/400
   #fcfcfc below. DARK BAND => LIGHT COPY.
   ============================================================ */
.zmit-stats { background: var(--zab-dark); }
.zmit .zmit-stats.z-section { margin: 30px 0 0; padding: 58px 0; }
.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;
}
/* Counter prefix span — unused on this page (all three suffix-only) but kept
   so the shared markup stays copy-safe. */
.zmit-stat .big .pre { font-size: inherit; font-weight: inherit; color: inherit; }

/* ============================================================
   S16 TESTIMONIALS — live 65e1765 (same id): pad 30, h2 34/300/44.2 with
   ~50 below, slide 352 tall. Card gradient carried from the family value.
   ============================================================ */
.zmit .zmit-testi.z-section { padding: 30px 0; }
.zmit-testi h2 { font-size: 34px; font-weight: 300; line-height: 44.2px; 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: 352px;
}
.zmit-testi-lead { font-size: 20px; line-height: 1.4; color: #1c1a33; margin-bottom: 18px; }

/* ============================================================
   S17 BLOGS — live 68226f5: white, h2 "Blogs" 39/400/58.5 with the
   "Explore All Blogs" link (16/500 #141414, 1px #141414 underline) on the
   same row; 3 cards: image 250 cover, CATEGORY 16/400 #000 (a term label,
   not a link), date 14/400 #5e5e5e, title 24/500/36 #000. NO excerpt
   (owner instruction — the live widget ships one; never render it).
   ============================================================ */
.zmit .zmit-articles.z-section { padding: 30px 0 60px; }
.zmit-articles-head { margin-bottom: 25px; }
.zmit-articles-head h2 { font-size: 39px; font-weight: 400; line-height: 58.5px; color: var(--zab-ink); }
.zmit-articles-more {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 16px; font-weight: 500; color: #141414;
    border-bottom: 1px solid #141414; padding-bottom: 5px;
}
.zmit-articles-more:hover { color: var(--zab-accent); border-color: var(--zab-accent); }
.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-img img { height: 250px; }
.zmit-article .body { padding: 24px 2px 32px; }
.zmit .zmit-article-cat { font-size: 16px; font-weight: 400; line-height: 26.4px; color: #000; margin: 0 0 8px; }
.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; }

/* ============================================================
   S18 FAQ — live 2b33af8: #eff0f7 band, 30px pads, h2 34/400/44.2 with 30
   below, then two DARK accordion columns split 6/5 (items use the shared
   .zab-dacc rules above). The 6/5 split is forced with break-after on item
   6 of the multi-column list, exactly as the family does.
   ============================================================ */
.zmit-faq { background: var(--zab-fill); }
.zmit .zmit-faq.z-section { padding: 30px 0; }
.zmit-faq h2 { font-size: 34px; font-weight: 400; line-height: 44.2px; color: var(--zab-ink); margin-bottom: 30px; }
.zmit-faq-list { column-gap: 30px; }
@media (min-width: 681px) {
    .zmit-faq-list .zab-dacc-item:nth-child(6) { break-after: column; }
    .zmit-faq-list .zab-dacc-item { break-inside: avoid; }
}

/* ============================================================
   S19 FINAL CTA — live 070907d (same template ids as charlotte: banner
   2dee0b2, inner 718d6c9): section pad 150/80, banner gradient
   (102.29deg #ecf1eb 8.75% #aec8fd 45.11% #84c3fc 81.46% — lazily applied on
   live so the computed read is transparent until in view; value carried from
   the family sheet where it was captured in view), radius 5, inner pad 50,
   banner 438 tall; h2 33.05/600; figure 500x576 bottom-right, breaking
   ~139px above the banner top.
   ============================================================ */
.zmit .zmit-final.z-section { margin: 0; padding: 150px 0 80px; }
.zmit-final-banner {
    background: linear-gradient(102.29deg, #ecf1eb 8.75%, #aec8fd 45.11%, #84c3fc 81.46%);
    border-radius: 5px;
    padding: 50px;
    min-height: 438px;
    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: 56px; bottom: 0; width: 500px; height: 576px; }

/* ============================================================
   S20 REQUEST A CONSULTATION — family component, photo background.
   ============================================================ */
.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; }

/* ============================================================
   S21 PRE-FOOTER — family component; this page's title carries NO left
   border (measured 0px on live, unlike charlotte's 2px). Owner deviation
   (2026-08-26): band hugs its content instead of live's padded 436.
   DARK BAND => LIGHT COPY.
   ============================================================ */
.zmit-insights-copy p.zmit-insights-title { font-weight: 400; border-left: 0; }
.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: 0; margin-left: 0; max-width: none;
    }
    .zmit-insights-copy p:not(.zmit-insights-title) {
        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; }
}

/* ============================================================
   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 { 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 .zab-band h2 { font-size: 24px; line-height: 1.3; }
    .zab-band-inner { grid-template-columns: 1fr; gap: 24px; }
    .zab-band-copy { padding: 0; gap: 24px; }
    .zmit .zab-ext h2 { font-size: 27px; line-height: 1.25; margin-bottom: 28px; }
    .zmit .zab-proc-copy h2 { font-size: 27px; line-height: 1.25; }
    .zmit .zmit-article h3 { font-size: 20px; line-height: 30px; }
    .zmit-articles-head h2 { font-size: 30px; line-height: 1.3; }
    .zab-certified-badges { grid-template-columns: repeat(3, 1fr); }
    .zmit .zab-trust-eyebrow { font-size: 24px; line-height: 1.3; margin-bottom: 28px; }
    .zab-trust-panel { grid-template-columns: 1fr; gap: 0; }
    .zab-trust-cell { border-right: 0; border-bottom: 1px solid #fff; }
    .zab-trust-cell:last-child { border-bottom: 0; }
    .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 .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; }
    .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; }
    .zmit-hero-left { padding-bottom: 0; }
    .zmit-testi-card { min-height: 0; }
}

/* Tablet-only (681-1080): live keeps services 2-up, extension 2-up, the
   comparison 3-across (228px columns at 768), and the process columns side
   by side. */
@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-ext-grid { grid-template-columns: repeat(2, 1fr); }
    .zmit-bookcal-embed,
    .zmit-bookcal-embed .meetings-iframe-container { height: auto; min-height: 660px; }
    /* S03 problems: live keeps two columns at 768 */
    .zab-problems-cols { grid-template-columns: 1fr 1fr; gap: 0 40px; }
    .zmit .zab-problems-head { font-size: 31px; line-height: 40.3px; }
    .zmit .zab-problems-answer { font-size: 22px; line-height: 37.4px; }
    /* comparison cells are narrow at 768 — let the copy breathe */
    .zmit .zab-cmp-cell { padding: 14px 16px; height: auto; min-height: 100px; font-size: 14px; line-height: 22px; }
    .zmit .zab-cmp-col-head { padding: 16px; font-size: 20px; line-height: 26px; }
    .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; }
    .zab-trust-cell { padding: 43px 25px; }
    .zmit .zmit-testi.z-section { padding: 20px 0; }
    .zmit-testi h2 { margin-bottom: 20px; }
    .zmit-recognized-band { grid-template-columns: 1fr; gap: 24px; padding: 60px 26px; }
    .zmit .zmit-recognized-copy h2 { font-size: 24px; line-height: 32px; }
    .zmit .zmit-articles.z-section { padding: 25px 0; }
    .zmit-services-grid .zmit-svc-card { padding: 26px; }
    .zmit-final-media img { width: 363px; height: 453px; }
    .zmit .zmit-stats.z-section { margin: 30px 0 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-hero .zmit-hero-headline { font-size: 40.98px; line-height: 49.17px; }
    .zmit-hero-grid { padding-bottom: 114px; }
    .zmit .zmit-bookcal.z-section { padding: 30px 0 27px; }
}

/* Process stacks below 768 (live's Elementor mobile breakpoint — measured
   side-by-side at 768, stacked at 375). */
@media (max-width: 767px) {
    .zab-proc-grid { grid-template-columns: 1fr; gap: 24px; }
    .zab-proc-copy { padding-right: 0; }
    .zab-proc-acc { padding: 0; }
}

/* ============================================================
   PHONE (<=680)
   ============================================================ */
@media (max-width: 680px) {
    .zmit .zmit-services.z-section  { padding: 20px 0; }
    .zmit-services-grid { grid-template-columns: 1fr; gap: 20px; }
    .zmit-services-grid .zmit-svc-card { padding: 26px; }
    .zmit .zab-problems.z-section   { padding: 40px 0; }
    .zmit .zab-problems-lead { margin-bottom: 30px; }
    .zmit .zab-cmp.z-section        { padding: 0 0 40px; }
    .zmit .zab-certified.z-section  { padding: 48px 0; }
    .zab-certified-badges { grid-template-columns: repeat(3, 1fr); gap: 10px; }
    .zmit .zab-ext.z-section        { padding: 24px 0; }
    .zab-ext-grid { grid-template-columns: 1fr; }
    .zmit .zab-proc.z-section       { padding: 24px 0; }
    .zmit .zab-trust.z-section      { padding: 24px 0 40px; }
    .zmit .zmit-recognized.z-section { padding: 30px 0; }
    .zmit-recognized-band { padding: 46px 26px; }
    .zmit .zmit-stories.z-section   { padding: 24px 0 8px; }
    .zmit .zmit-articles.z-section  { padding: 48px 0; }
    .zmit-articles-grid { grid-template-columns: 1fr; gap: 24px; }
    .zmit .zmit-stats.z-section     { margin: 20px 0 0; padding: 40px 0; }
    .zmit-stats-grid { grid-template-columns: 1fr; gap: 24px; }
    .zmit .zmit-testi.z-section     { padding: 20px 0; }
    .zmit-testi h2 { margin-bottom: 20px; }
    .zmit .zmit-faq.z-section       { padding: 40px 0; }
    .zmit .zmit-contact.z-section   { padding: 40px 0; }
    .zmit .zmit-insights.z-section  { padding: 40px 0; }
    .zmit-insights-grid { grid-template-columns: 1fr; gap: 20px; }
    .zmit-insights-btns { gap: 20px; }
    .zmit-insights-btns a { width: 100%; padding: 14px 28px; }

    .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-ext h2,
    .zmit .zab-proc-copy h2 { font-size: 24px; line-height: 32px; }
    .zmit .zab-problems-answer { font-size: 16px; line-height: 25px; }
    .zab-tick-text { font-size: 15px; line-height: 24px; }
    .zmit-articles-head h2 { font-size: 26px; line-height: 1.3; }
    .zmit-testi-lead { font-size: 18px; line-height: 26px; }
    .zmit-testi-quote { font-size: 14px; line-height: 22px; }
    .zmit .zab-trust-cell h3 { font-size: 14px; line-height: 24px; }
    .zmit .zmit-recognized-copy h2 { font-size: 20px; line-height: 28px; }
    .zmit-insights-copy p.zmit-insights-title { font-size: 21px; }
    .zmit-story-img img { height: 240px; }
    .zmit-article-img img { height: 240px; }
    .zab-dacc-q { padding: 16px; font-size: 15px; line-height: 22px; }
    .zab-dacc-a { padding: 0 16px 16px; }
    .zmit-final-media img { width: 260px; height: auto; max-height: 320px; }
    .zmit-stats-copy h3 { font-size: 20px; line-height: 29.7px; margin-bottom: 20px; }
    .zmit-bookcal-embed,
    .zmit-bookcal-embed .meetings-iframe-container { height: auto; min-height: 600px; }
    .zmit .zmit-bookcal.z-section { padding: 20px 0 0; }
    /* comparison columns stack — cells hug their copy */
    .zmit .zab-cmp-cell { height: auto; min-height: 0; padding: 16px 20px; }
    .zmit .zab-cmp-col-head { padding: 16px 20px; font-size: 20px; line-height: 26px; }

    /* Hero type: tighter on phones (family value) */
    .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 (family value) */
    .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; }

    /* Mobile content reduction (owner approved 2026-08-26) — CSS-only hides,
       markup and links stay in the DOM so interlinking is unchanged. */
    .zmit-services-grid .zmit-svc-card li:nth-child(n+4) { display: none; }
    .zmit-articles .zmit-article-img, .zmit-articles img { display: none; }
    .zmit-stories .zmit-story .body p { display: none; }
    .zab-trust-cell h3 {
        display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
    }
    .zmit .zab-trust-ico, .zmit .zab-trust-ico svg, .zmit .zab-trust-ico img { width: 64px; height: 64px; }
    .zmit .zab-trust-cell { padding: 20px 16px; }
    .zmit .zab-ext-card { padding: 20px 18px; }

    /* Review logos: one even row of three (family value) */
    .zmit .zmit-recognized-logos { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 14px; }
    .zmit .zmit-recognized-logos img { max-width: 96px; max-height: 26px; width: auto; height: auto; object-fit: contain; }
    /* Articles read as a list once artwork is hidden — hairline separators */
    .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 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.
   Resting card style and this page's live-measured hover (border #0161ff +
   translate lift) are untouched — owner feedback covered the resting look only. */
@media (min-width: 1081px) {
    .zmit-form-card { height: 100%; align-self: stretch; min-height: 612px; display: flex; flex-direction: column; justify-content: center; }
}
