/* /managed-it-services-v5, /managed-it-services-v6, /it-managed-services-v3 —
   layered ON TOP of css/managed-it-service-provider.css (the reference sheet for
   the locked landing-page template, not edited). Only the deltas these pages
   have against the reference preview live here; every value was read off the
   live page (getBoundingClientRect / getComputedStyle, 1440 + 1920 + 375).
   Scoped under .zab-mlp (the page wrapper) so the reference's six pages are
   untouched even if this sheet is ever loaded next to them.

   Content box: the reference sheet's owner decision of 2026-09-25 ("keep house
   content box", 1340 @ x=50 at 1440) is inherited deliberately. Live runs 1240
   @ x=100; the house box is not overridden per page (CLAUDE.md s7). */

/* ------------------------------------------------------------------ hero */
/* Live's headline is an <h2> (9685196), 53px/68.9px w700 at 1440. OWNER RULE for
   these LPs WAS 42px/52px; owner now wants live's 53/68.9 here. Mobile (<=767) live is 24px (v5) /
   25px (v6) - smaller than 42, so live's value stands there. */
.zmit.zab-mlp .zab-mlp-h1,
.zab-mlp .zab-msp-hero .zab-mlp-h1 {
    font-size: 53px; line-height: 68.9px; font-weight: 700; color: #14142b;   /* live size (owner 2026-09-29: match live, not the 42/52 cap) */
    letter-spacing: normal; margin: 0;
}
/* live wraps the sub at its own 1240 band; hero sub 16px/26.4 */
@media (max-width: 1080px) {
    .zmit.zab-mlp .zab-mlp-h1 { font-size: 40px; line-height: 52px; }
}
@media (max-width: 767px) {
    .zmit.zab-mlp:not(.zab-mlp3) .zab-mlp-h1 { font-size: 24px; line-height: 31.2px; }   /* live 1.3em */
    /* c265999 is elementor-hidden-mobile on v5 (v6 shows it) */
    .zab-mlp:not(.zab-mlp3) .zab-mlp-deskonly { display: none; }
}

/* -------------------------------------------------------------------- nav */
/* e3a28a1 custom CSS: #book_btn display:none on desktop; <=767 it is a black
   8px-radius pill with white centred text, 0 20px side margin, inside the
   white dropdown. */
.zab-mlp .zab-lpnav-book { display: none; }
@media (max-width: 767px) {
    .zab-mlp:not(.zab-mlp3) .zab-lpnav-menu a.zab-lpnav-book {
        display: grid; place-content: center; text-align: center;
        background: #000; color: #fff; border-radius: 8px; margin: 0 20px;
    }
}

/* -------------------------------------------------------- HubSpot fields */
/* live renders the embed's inputs and submit in Poppins (the reference fell
   back to the form theme's Helvetica). Inner inputs only - never the
   .hsfc-DropdownInput / .hsfc-PhoneInput wrappers. No min-height reserve on the
   forms (house rule for these LPs) - the reference's 430px floor is released. */
.zab-mlp .zmit-hsform .hsfc-TextInput,
.zab-mlp .zmit-hsform .hsfc-TextareaInput,
.zab-mlp .zmit-hsform .hsfc-Button { font-family: "Poppins", sans-serif !important; }
.zab-mlp .zab-msp-formcard .zmit-hsform { min-height: 0; }

/* ------------------------------------------------------ gated pricing modal */
/* e0cf015 / #priceFormContainer (v5, v6), measured open at 1440:
   fixed, full viewport, WHITE (not a dim backdrop), inner padding 50px 0 0,
   gap 20px. Close icon 41107ff: 50x50, fixed top 20 / right 20, #69727d.
   Heading 0edf03c: 28px/42px w600 #141414 centred, max 1152.
   Plans efa7233: margin-top 30, four 25% columns flush (gap 0), each with
   1px rgba(20,20,43,.1) borders (right border only on the last), outer radius
   20px; padding 20px 0. Name row: 20px icon + 14px/18.2 w600 #0161ff.
   Every plan body (032f1ae, 90f860e, ...) is filter: blur(10px). Button 89bc998
   sits dead-centre of the viewport: 16px/16 w500, padding 13px 35px, radius 5,
   #0161ff. It reveals 192a38a: a 950px white card, radius 20, 1px
   rgba(1,97,255,.08) border, padding 30px 0 20px, heading 171a7d4 22px/28.6
   w600 #141414 centred, form area padding 20px - and the overlay e56bef0 goes
   #00000087. */
.zab-mlp .zab-pricegate { background: #fff; padding: 0; overflow: auto; z-index: 9999; }
.zab-mlp .zab-pricegate.is-open { display: block; }
.zab-mlp .zab-pricegate .zab-pricepop-box {
    max-width: none; margin: 0; border-radius: 0; background: transparent;
    padding: 50px 0 50px; min-height: 100vh;
}
.zab-mlp .zab-pricegate .zab-pricepop-close {
    position: fixed; top: 20px; right: 20px; z-index: 3; padding: 0; color: #69727d;
}
.zab-mlp .zab-pricegate .zab-pricepop-close svg { width: 50px; height: 50px; }
.zab-mlp .zab-pricegate .zab-pricepop-box > h2 {
    font-size: 28px; line-height: 42px; font-weight: 600; color: #141414;
    text-align: center; max-width: 1152px; margin: 0 auto;
}
.zab-mlp .zab-pricegate .zab-plans { gap: 0; margin-top: 50px; }
.zab-mlp .zab-pricegate .zab-plan {
    border: 1px solid rgba(20, 20, 43, .1); border-right-width: 0; border-radius: 0;
    padding: 20px 0; gap: 10px;
}
.zab-mlp .zab-pricegate .zab-plan:first-child { border-radius: 20px 0 0 20px; }
.zab-mlp .zab-pricegate .zab-plan:last-child { border-right-width: 1px; border-radius: 0 20px 20px 0; }
.zab-mlp .zab-pricegate .zab-plan-name { padding: 0 20px; gap: 8px; }
.zab-mlp .zab-pricegate .zab-plan-name h3 { font-size: 14px; line-height: 18.2px; font-weight: 600; color: #0161ff; }
.zab-mlp .zab-pricegate .zab-plan-name svg { width: 20px; height: 20px; flex-basis: 20px; }
.zab-mlp .zab-plan-body {
    filter: blur(10px); user-select: none;
    display: flex; flex-direction: column; gap: 10px;
}
.zab-mlp .zab-pricegate .zab-plan-price { padding: 0 20px; font-size: 30px; line-height: 30px; font-weight: 700; color: #141414; }
.zab-mlp .zab-pricegate .zab-plan-note { padding: 0 20px 20px; font-size: 13px; line-height: 26px; color: rgba(20, 20, 43, .4); }
.zab-mlp .zab-pricegate .zab-plan + .zab-plan .zab-plan-note:first-of-type { background: rgba(1, 97, 255, .1); padding-top: 20px; }
.zab-mlp .zab-pricegate .zab-plan hr { margin: 0 20px; }
.zab-mlp .zab-pricegate .zab-plan ul { padding: 0 20px; gap: 9px; }
.zab-mlp .zab-pricegate .zab-plan li { font-size: 16px; line-height: 26.4px; color: #000; }
.zab-mlp .zab-pricegate-unlock {
    position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2;
    font: 500 16px/16px "Poppins", sans-serif; color: #fff; background: #0161ff;
    border: 1px solid #0161ff; border-radius: 5px; padding: 13px 35px; cursor: pointer;
}
.zab-mlp .zab-pricegate-unlock:hover, .zab-mlp .zab-pricegate-unlock:focus-visible { background: #141414; border-color: #141414; }
.zab-mlp .zab-pricegate.is-form::after {
    content: ""; position: fixed; inset: 0; background: #00000087; z-index: 1; pointer-events: none;
}
.zab-mlp .zab-pricegate-form {
    position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2;
    width: min(950px, calc(100vw - 40px)); max-height: calc(100vh - 40px); overflow: auto;
    background: #fff; border: 1px solid rgba(1, 97, 255, .08); border-radius: 20px;
    padding: 30px 0 20px;
}
.zab-mlp .zab-pricegate-form[hidden] { display: none; }
.zab-mlp .zab-pricegate-form > h2 {
    font-size: 22px; line-height: 28.6px; font-weight: 600; color: #141414; text-align: center; margin: 0;
}
.zab-mlp .zab-pricegate-form .zmit-hsform { padding: 20px; }
@media (max-width: 1024px) {
    .zab-mlp .zab-pricegate .zab-plans { grid-template-columns: repeat(2, 1fr); }
    .zab-mlp .zab-pricegate .zab-plan,
    .zab-mlp .zab-pricegate .zab-plan:first-child,
    .zab-mlp .zab-pricegate .zab-plan:last-child { border-right-width: 1px; border-radius: 0; }
}
@media (max-width: 767px) {
    .zab-mlp:not(.zab-mlp3) .zab-pricegate .zab-pricepop-box { padding: 80px 16px 40px; }
    .zab-mlp:not(.zab-mlp3) .zab-pricegate .zab-pricepop-box > h2 { font-size: 20px; line-height: 30px; }
    .zab-mlp:not(.zab-mlp3) .zab-pricegate .zab-plans { grid-template-columns: 1fr; }
}

/* ----------------------------------------------------- floating mobile CTA */
/* live's own inline <style> for .zazz-mobile-float-cta(-wrap), verbatim values:
   fixed bottom, no backdrop strip, pointer-events only on the button, #0b57ff,
   16px w600, padding 16px 18px, radius 5, shadow 0 10px 25px rgba(0,0,0,.25),
   transform transition 180ms; body padding-bottom 90px. Shown/hidden by the
   page script (hidden while another CTA is on screen). */
@media (max-width: 767px) {
    .zab-mlp:not(.zab-mlp3) .zab-floatcta {
        padding: 0; background: none; box-shadow: none; z-index: 99999;
        pointer-events: none; transform: translateY(0); transition: transform 180ms ease;
    }
    .zab-mlp:not(.zab-mlp3) .zab-floatcta a {
        pointer-events: auto; margin: 0; background: #0b57ff; color: #fff;
        font-size: 16px; font-weight: 600; line-height: 26.4px; padding: 16px 18px; border-radius: 5px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, .25);
    }
    .zab-mlp:not(.zab-mlp3) .zab-floatcta a:hover, .zab-mlp:not(.zab-mlp3) .zab-floatcta a:focus { color: #fff; opacity: 1; }
    .zab-mlp:not(.zab-mlp3) .zab-msp-body { padding-bottom: 0; }
    body:has(#zazzMobileCta) { padding-bottom: 90px; }
}

/* ------------------------------------------------ HubSpot placeholders + caret */
/* live (ac85e31 / 74e4a12 custom CSS + theme): input placeholders #000 at .5
   opacity, the tel placeholder solid #000, textarea placeholder `gray` 14px;
   dropdown caret padding 0 10px, right -3px. */
.zab-mlp .zab-msp-formcard .zmit-hsform .hsfc-TextInput::placeholder { color: #000 !important; opacity: .5 !important; }
.zab-mlp .zab-msp-formcard .zmit-hsform input[type="tel"]::placeholder { color: #000 !important; opacity: 1 !important; }
.zab-mlp .zab-msp-formcard .zmit-hsform .hsfc-TextareaInput::placeholder { color: gray !important; opacity: 1 !important; font-size: 14px; }
.zab-mlp .zab-msp-formcard .zmit-hsform .hsfc-DropdownInput__Caret { right: -3px !important; padding: 0 10px !important; }

/* ------------------------------------------------------- nav, measured 1440 */
/* e3a28a1 items 16px/24 w500 #141414, 30px apart; logo 0590afa 141x32;
   35f4f20: padding 12px 16px, radius 5, #141414, 14px/24, icon 10px after the
   label, and the widget runs live's `pulseButton` (scale 1 -> 1.08, 1.5s
   infinite ease-in-out) from its custom CSS. */
.zab-mlp .zab-lpnav-menu { gap: 30px; }
.zab-mlp .zab-lpnav-menu a { font-size: 16px; line-height: 24px; color: #141414; }
.zab-mlp .zab-lpnav-menu a:hover, .zab-mlp .zab-lpnav-menu a:focus-visible { color: #0161ff; }
.zab-mlp .zab-lpnav-logo svg { width: 141px; height: 32px; }
.zab-mlp .zab-lpnav-cta {
    padding: 12px 16px; border-radius: 5px; line-height: 24px; gap: 10px;
    animation: zabMlpPulse 1.5s infinite ease-in-out; transform-origin: center;
}
@keyframes zabMlpPulse { 0% { transform: scale(1); } 50% { transform: scale(1.08); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .zab-mlp .zab-lpnav-cta { animation: none; } }

/* ------------------------------------------------------------ FAQ + footer */
/* f9ab835 open/closed glyphs fill #0664ff (reference shipped them white) */
.zab-mlp .zab-faq-ico svg { fill: #0664ff; }
/* 75c2ee4: copy 4d53456 14px/14px #868686; link text 14px/23.1 #868686, list
   items 40px apart (#969696 on the reference page, #868686 here) */
.zab-mlp .zab-lpfoot-copy { color: #868686; line-height: 14px; }
.zab-mlp .zab-lpfoot ul { gap: 40px; }
.zab-mlp .zab-lpfoot a { color: #868686; }
.zab-mlp .zab-lpfoot a:hover, .zab-mlp .zab-lpfoot a:focus-visible { color: #fff; }

/* ------------------------------------------ comparison: live's mobile table */
/* 2a658c6 (<=767; the 3-col table is elementor-hidden-mobile there): one
   #eff0f7 box, 1px #d5d8e1 border, radius 10, three flush columns 27% / 35% /
   38%. Header cells padding 10 (After: 12px 10px 13px, 18px green check + 14px
   w600 white label). Body cells padding 10, 1px #d5d8e1 rule under every row but
   the last, live's per-row fixed heights 150 / 130 / 130 / 90 / 150. Metric
   14px/14 w500 #000; before 13px/15.6 #000; after column #14142b (radius
   0 10 10 0), cells 13px/13 #f2f7ff with rgba(255,255,255,.43) rules. */
.zab-mlp .zab-cmpm { display: none; }
@media (max-width: 767px) {
    .zab-mlp:not(.zab-mlp3) .zab-cmp-table { display: none; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm {
        display: flex; background: #eff0f7; border: 1px solid #d5d8e1; border-radius: 10px;
    }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-m { flex: 0 0 27%; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-b { flex: 0 0 35%; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-a { flex: 0 0 38%; background: #14142b; border-radius: 0 10px 10px 0; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-cell { padding: 10px; border-bottom: 1px solid #d5d8e1; font-size: 13px; line-height: 15.6px; color: #000; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-cell:last-child { border-bottom: 0; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-m .zab-cmpm-cell { font-size: 14px; line-height: 14px; font-weight: 500; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-cell.zab-cmpm-head { font-size: 14px; line-height: 14px; font-weight: 500; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-a .zab-cmpm-cell { border-bottom-color: rgba(255, 255, 255, .43); color: #f2f7ff; line-height: 13px; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-a .zab-cmpm-cell:last-child { border-bottom: 0; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-a .zab-cmpm-head {
        display: flex; align-items: center; gap: 15px; padding: 12px 10px 13px;
        font-size: 14px; line-height: 18.2px; font-weight: 600; color: #fff;
    }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-a .zab-cmpm-head svg { width: 18px; height: 18px; flex: 0 0 18px; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-cell:nth-child(2) { height: 150px; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-cell:nth-child(3) { height: 130px; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-cell:nth-child(4) { height: 130px; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-cell:nth-child(5) { height: 90px; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-cell:nth-child(6) { height: 150px; }
}

/* ================================================================ 375 pass */
/* Every value below read off live /managed-it-services-v5 at 375 (computed
   styles), cumulative with live's 1366 / 1200 / 1024 / 880 rules. The house
   30px mobile gutter is kept (live runs 20px), so copy wraps a little later. */
@media (max-width: 767px) {
    /* nav ddc9b22: 56 tall, 1px #cecece rule, logo 101x23, 20px toggle */
    .zab-mlp:not(.zab-mlp3) .zab-lpnav { height: 56px; border-bottom: 1px solid #cecece; }
    .zab-mlp:not(.zab-mlp3) .zab-lpnav-logo svg { width: 101px; height: 23px; }
    .zab-mlp:not(.zab-mlp3) .zab-lpnav-burger { padding: 0; }
    .zab-mlp:not(.zab-mlp3) .zab-lpnav-burger svg { width: 20px; height: 20px; }
    .zab-mlp:not(.zab-mlp3) .zab-lpnav-menu { top: 56px; padding: 0 0 20px; }
    .zab-mlp:not(.zab-mlp3) .zab-lpnav-menu a { padding: 10px 20px; }

    /* hero 543426b: padding 20 0 0, gap 10; headline widget padding-top 20;
       sub 15px/24.75; ghost button full width, padding 20px 0, radius 5, then
       the widget's 20px foot */
    .zab-mlp:not(.zab-mlp3) .zab-msp-hero .z-container { padding-top: 20px; padding-bottom: 20px; gap: 10px; }
    .zab-mlp:not(.zab-mlp3) .zab-mlp-h1 { padding-top: 20px; }
    .zab-mlp:not(.zab-mlp3) .zab-msp-hero-sub { font-size: 15px; line-height: 24.75px; }
    .zab-mlp:not(.zab-mlp3) .zab-msp-hero-cta { gap: 10px; width: 100%; }
    .zab-mlp:not(.zab-mlp3) .zab-msp-btn { padding: 20px 0; border-radius: 5px; }

    /* marquee: 67px strip, 100px logos at 1.5:1, 5px apart, no band padding */
    .zab-mlp:not(.zab-mlp3) .zmit-trust-band { padding: 0; }
    .zab-mlp:not(.zab-mlp3) .zmit-trust-track { gap: 5px; }
    .zab-mlp:not(.zab-mlp3) .zmit-trust-chip { width: 100px; height: 67px; }
    .zab-mlp:not(.zab-mlp3) .zmit-trust-chip img { max-width: 100px; max-height: 67px; }

    /* video b4a0d90: margin 20 0 50 */
    .zab-mlp:not(.zab-mlp3) .zab-msp-video { margin: 20px 0 50px; }

    /* band headings: 18px/23.4 (testimonials 20px/26) */
    .zmit.zab-mlp:not(.zab-mlp3) .zab-msp-h { font-size: 18px; line-height: 23.4px; }
    .zmit.zab-mlp:not(.zab-mlp3) .zab-testi .zab-msp-h { font-size: 20px; line-height: 26px; }
    .zab-mlp:not(.zab-mlp3) .zab-cov > .zab-msp-h, .zab-mlp:not(.zab-mlp3) .zab-seccov > .zab-msp-h { padding-top: 0; }

    /* coverage e7af5b3: no padding, 20 margin-bottom, gap 20; rows padding 10,
       gap 10; number column 17.389px, 3px drop; titles 18px/23.4; descriptions
       display:none (live's custom CSS on every image-box); rows 2/4/6 tinted
       rgba(230,239,255,.5) with no top rule */
    .zab-mlp:not(.zab-mlp3) .zab-cov { padding: 0; margin-bottom: 20px; gap: 20px; }
    .zab-mlp:not(.zab-mlp3) .zab-cov-row { padding: 10px; gap: 10px; }
    .zab-mlp:not(.zab-mlp3) .zab-cov-row .zab-cov-n,
    .zab-mlp:not(.zab-mlp3) .zab-cov-row:nth-child(n) .zab-cov-n { flex-basis: 17.389px; padding-top: 3px; font-size: 14.592px; line-height: 24.08px; }
    .zab-mlp:not(.zab-mlp3) .zab-cov-row h3 { font-size: 18px; line-height: 23.4px; }
    .zab-mlp:not(.zab-mlp3) .zab-cov-row p { display: none; }
    .zab-mlp:not(.zab-mlp3) .zab-cov-row:nth-child(even) { background: rgba(230, 239, 255, .5); border-top-width: 0; }

    /* security d17b3ed: padding 20 0, gap 20; 1 col gap 10; 40px icon, 23px gap,
       titles 15px/19.5 */
    .zab-mlp:not(.zab-mlp3) .zab-seccov { padding: 20px 0; gap: 20px; }
    .zab-mlp:not(.zab-mlp3) .zab-seccov-grid { gap: 10px; }
    .zab-mlp:not(.zab-mlp3) .zab-seccov-item { gap: 23px; }
    .zab-mlp:not(.zab-mlp3) .zab-seccov-item .zab-ico { flex-basis: 40px; }
    .zab-mlp:not(.zab-mlp3) .zab-seccov-item .zab-ico svg { width: 40px; height: 40px; }
    .zab-mlp:not(.zab-mlp3) .zab-seccov-item h3 { font-size: 15px; line-height: 19.5px; }

    /* certs 807672d: padding 50 0 70, gap 20; cards padding 10, 54px logo,
       copy 20px on; title 16px/20.8 mb 0; description 12px/14.4 */
    .zab-mlp:not(.zab-mlp3) .zab-certs { padding: 50px 0 70px; gap: 20px; }
    .zab-mlp:not(.zab-mlp3) .zab-cert { padding: 10px; }
    .zab-mlp:not(.zab-mlp3) .zab-cert-fig { flex-basis: 54px; width: 54px; margin: 0; }
    .zab-mlp:not(.zab-mlp3) .zab-cert-fig img { width: 54px; height: 54px; }
    .zab-mlp:not(.zab-mlp3) .zab-cert h3 { font-size: 16px; line-height: 20.8px; margin-bottom: 0; }
    .zab-mlp:not(.zab-mlp3) .zab-cert p { font-size: 12px; line-height: 14.4px; }

    /* testimonials af43aa2: padding 50 0, gap 20 */
    .zab-mlp:not(.zab-mlp3) .zab-testi { padding: 50px 0; gap: 20px; }

    /* comparison a0cd677: padding 20 0 40, gap 40, heading widget padding-top 20 */
    .zab-mlp:not(.zab-mlp3) .zab-cmp { padding: 20px 0 40px; gap: 40px; }
    .zab-mlp:not(.zab-mlp3) .zab-cmp > .zab-msp-h { padding-top: 20px; }

    /* FAQ 7452e73: padding 30 0 0, gap 20; summary padding 25, text 15px/24;
       answer panel padding 0 20, 14px/22.4, links w500 #85bcff */
    .zab-mlp:not(.zab-mlp3) .zab-faq { padding: 30px 0 0; gap: 20px; }
    .zab-mlp:not(.zab-mlp3) .zab-faq-item > summary { padding: 25px; font-size: 15px; line-height: 24px; }
    .zab-mlp:not(.zab-mlp3) .zab-faq-a { padding: 0 20px; }
    .zab-mlp:not(.zab-mlp3) .zab-faq-a p { font-size: 14px; line-height: 22.4px; margin-bottom: 20px; }
    .zab-mlp:not(.zab-mlp3) .zab-faq-a a { color: #85bcff; font-weight: 500; }

    /* growth 8ed53e1: padding 50 0 0, column gap 20; h2 26px/33.8; CTA full
       width; figure hidden; form card 541beb1 padding 20, gap 20, heading
       14px/18.2, 80px foot */
    .zab-mlp:not(.zab-mlp3) .zab-grow { padding: 50px 0 0; margin-top: 0; }
    .zab-mlp:not(.zab-mlp3) .zab-grow-inner { flex-direction: column; align-items: stretch; gap: 20px; }
    .zab-mlp:not(.zab-mlp3) .zab-grow-copy { padding-bottom: 0; align-self: stretch; }
    .zab-mlp:not(.zab-mlp3) .zab-grow-copy h2 { font-size: 26px; line-height: 33.8px; }
    .zab-mlp:not(.zab-mlp3) .zab-grow-cta { width: 100%; font-size: 14px; }
    .zab-mlp:not(.zab-mlp3) .zab-grow-fig { display: none; }
    .zab-mlp:not(.zab-mlp3) .zab-grow .zab-grow-form { margin-bottom: 80px; padding: 20px; gap: 20px; }
    .zab-mlp:not(.zab-mlp3) .zab-grow-form h2 { font-size: 14px; line-height: 18.2px; }

    /* footer 75c2ee4: column, centred, 20 top, gap 20; copy 14px; links 11px /
       18.15 with 7px side padding; live pulls the page up by -75px under the
       fixed CTA's 90px body padding */
    .zab-mlp:not(.zab-mlp3) .zab-lpfoot { margin-bottom: -75px; }
    .zab-mlp:not(.zab-mlp3) .zab-lpfoot .z-container { flex-direction: column; gap: 20px; padding-top: 20px; padding-bottom: 20px; }
    .zab-mlp:not(.zab-mlp3) .zab-lpfoot-copy { line-height: 24px; }
    .zab-mlp:not(.zab-mlp3) .zab-lpfoot ul { gap: 0; justify-content: center; }
    .zab-mlp:not(.zab-mlp3) .zab-lpfoot li { padding: 0 7px; }
    .zab-mlp:not(.zab-mlp3) .zab-lpfoot a { font-size: 11px; line-height: 18.15px; }
}

/* nav rule (ddc9b22 border-bottom 1px #cecece at every width) + FAQ links
   (#85bcff w500 on live, the reference had #9dc2ff w400) */
.zab-mlp .zab-lpnav { border-bottom: 1px solid #cecece; }
.zab-mlp .zab-faq-a a { color: #85bcff; font-weight: 500; }

@media (max-width: 767px) {
    .zab-mlp:not(.zab-mlp3) .zab-lpfoot li { line-height: 18.15px; }
    /* v6 (post-48124 <=767): headline 25px/32.5, sub 12px/19.8, hero CTA
       c265999 13px/13 padding 12px 24px radius 8 with a 10px widget foot (no
       ghost button below it), footer pulled up -85px */
    .zmit.zab-mlp.zab-mlp6:not(.zab-mlp3) .zab-mlp-h1 { font-size: 25px; line-height: 32.5px; }
    .zab-mlp.zab-mlp6:not(.zab-mlp3) .zab-msp-hero-sub { font-size: 12px; line-height: 19.8px; }
    .zab-mlp.zab-mlp6:not(.zab-mlp3) .zab-msp-hero .z-container { padding-bottom: 10px; }
    .zab-mlp.zab-mlp6:not(.zab-mlp3) .zab-msp-btn { font-size: 13px; line-height: 13px; padding: 12px 24px; border-radius: 8px; }
    .zab-mlp.zab-mlp6:not(.zab-mlp3) .zab-lpfoot { margin-bottom: -85px; }
    /* stacked table "Before" rows 1-3 at 12px on this page */
    .zab-mlp.zab-mlp6:not(.zab-mlp3) .zab-cmpm-b .zab-cmpm-cell:nth-child(-n+4):not(.zab-cmpm-head) { font-size: 12px; }
    .zab-mlp.zab-mlp6:not(.zab-mlp3) .zab-cmpm-b .zab-cmpm-cell:nth-child(2) { line-height: 14.4px; }
}
/* v6 c265999 13px at <=1200 */
@media (max-width: 1200px) { .zab-mlp.zab-mlp6:not(.zab-mlp3) .zab-msp-btn { font-size: 13px; } }
@media (max-width: 767px) { .zab-mlp.zab-mlp6:not(.zab-mlp3) .zab-msp-btn svg { width: 11.4px; height: 13px; } }

@media (max-width: 767px) {
    /* stacked table line pitch: live's cell titles are inline spans inside a
       14.592px/24.08 body, so every wrapped line sits 24.08px apart - except
       row 1 of "Before" (7130f68, a block at 13px/1.2em). */
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-cell:not(.zab-cmpm-head) { line-height: 24.08px; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-a .zab-cmpm-cell:not(.zab-cmpm-head) { line-height: 24.08px; }
    .zab-mlp:not(.zab-mlp3) .zab-cmpm-b .zab-cmpm-cell:nth-child(2) { line-height: 15.6px; }
    /* testimonials: no rule under the quote at 375; name 16px on a 23px line,
       role 2px under it, 21px foot before the next card's 20px gap */
    .zab-mlp:not(.zab-mlp3) .zab-testi-card { gap: 1px; }
    .zab-mlp:not(.zab-mlp3) .zab-testi-q { flex: 0 0 auto; margin: 0; padding-bottom: 0; border-bottom: 0; }
    .zab-mlp:not(.zab-mlp3) .zab-testi-who { padding-bottom: 21px; }
    .zab-mlp:not(.zab-mlp3) .zab-testi-who strong { line-height: 23px; margin-bottom: 2px; }
}
@media (max-width: 767px) {
    /* 74e4a12 textarea renders 78px tall at 375 */
    .zab-mlp:not(.zab-mlp3) .zab-grow-form .zmit-hsform .hsfc-TextareaInput { height: 78px; min-height: 78px !important; }
}

/* ------------------------------------------ pricing-form skin (6d0b406) */
/* measured open at 1440: labels 16px/20 w500 #000, 10px under, required mark
   #cc0201; inputs white 40px, 16px/24 Poppins #000, padding 10px (dropdowns
   10px 25px 10px 20px), only a 1px #d1d5db bottom rule, radius 3; rows 20
   apart; textarea 69px; submit centred, auto width, 16px/16 w700, padding
   12px 24px, radius 8, #0161ff, 40px above. Scoped to this form only
   (CLAUDE.md s9 - the partial serves every form). */
.zab-mlp .zab-pricegate-form .zmit-hsform label,
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-FieldLabel { color: #000 !important; font-size: 16px !important; line-height: 20px !important; font-weight: 500 !important; margin-bottom: 10px !important; }
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-FieldLabel__RequiredIndicator { color: #cc0201 !important; }
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-Row { margin-bottom: 20px; }
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-TextInput,
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-TextareaInput {
    background: #fff !important; color: #000 !important; border: 0 !important; border-bottom: 1px solid #d1d5db !important;
    border-radius: 3px !important; padding: 10px !important; font-size: 16px !important; line-height: 24px !important; height: 40px;
}
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-DropdownInput .hsfc-TextInput { padding: 10px 25px 10px 20px !important; }
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-TextareaInput { height: 69px; min-height: 69px !important; }
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-PhoneInput { gap: 0; }
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-PhoneInput .hsfc-PhoneInput__FlagAndCaret {
    background: #fff !important; border: 0 !important; border-bottom: 1px solid #c2c2c2 !important; border-radius: 0 !important; padding: 0 10px !important;
}
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-NavigationRow { margin-top: 40px; }
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-NavigationRow__Buttons { justify-content: center; }
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-Button {
    width: auto !important; padding: 12px 24px !important; border-radius: 8px !important;
    font-size: 16px !important; line-height: 16px !important; font-weight: 700 !important; background-color: #0161ff !important;
}
.zab-mlp .zab-pricegate-form .zmit-hsform label span,
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-FieldLabel span { font-size: 16px !important; line-height: 20px !important; font-weight: 500 !important; }
.zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-FieldLabel__RequiredIndicator { color: #cc0201 !important; }

/* ------------------------------------------- pricing modal, <=1024 plan set */
/* a94b982 (v3: 53f1ea6) replaces the four-column set at <=1024: four collapsed
   cards (name w600 #0161ff, price 30px w700, users + description 13px), all
   blurred 10px like the desktop bodies; heading left-aligned at 20px/30. */
.zab-mlp .zab-mplans { display: none; }
@media (max-width: 1024px) {
    .zab-mlp .zab-pricegate .zab-plans { display: none; }
    .zab-mlp .zab-mplans { display: flex; flex-direction: column; filter: blur(10px); user-select: none; margin-top: 30px; }
    .zab-mlp .zab-mplan { border-bottom: 1px solid rgba(20, 20, 43, .1); padding: 20px 10px; }
    .zab-mlp .zab-mplan > summary { display: flex; justify-content: space-between; gap: 10px; list-style: none; pointer-events: none; }
    .zab-mlp .zab-mplan > summary::-webkit-details-marker { display: none; }
    .zab-mlp .zab-mplan-card { display: flex; flex-direction: column; gap: 8px; }
    .zab-mlp .zab-mplan-name { font-size: 14px; line-height: 18.2px; font-weight: 600; color: #0161ff; }
    .zab-mlp .zab-mplan-price { font-size: 30px; line-height: 30px; font-weight: 700; color: #141414; }
    .zab-mlp .zab-mplan-price span { font-size: 14px; font-weight: 400; color: #5e5e5e; }
    .zab-mlp .zab-mplan-users, .zab-mlp .zab-mplan-desc { font-size: 13px; line-height: 20px; color: rgba(20, 20, 43, .5); }
    .zab-mlp .zab-mplan-ico svg { width: 16px; height: 18px; fill: #141414; }
    .zab-mlp .zab-mplan ul { padding: 10px 0 0; }
    .zab-mlp .zab-pricegate .zab-pricepop-box > h2 { text-align: left; margin-right: 70px; }
}
@media (max-width: 767px) {
    /* live at 375: heading flush at x=0, 5px from the top; unlock button 187
       wide on two lines */
    .zab-mlp:not(.zab-mlp3) .zab-pricegate .zab-pricepop-box { padding: 5px 0 40px; }
    .zab-mlp .zab-pricegate-unlock { padding: 13px 25px; width: 187px; }

    /* owner 2026-10-06: deviates from live on phones. Heading/plans get a 16px gutter
       (live is flush at x=0); the close button shrinks to 40px; with the lead form open
       the card starts BELOW the close button (live's fixed close sat on the card's
       top-right corner and covered the labels as the form scrolled). */
    .zab-mlp:not(.zab-mlp3) .zab-pricegate .zab-pricepop-box { padding: 16px 16px 40px; }
    .zab-mlp .zab-pricegate .zab-pricepop-box > h2 { margin-right: 52px; }
    .zab-mlp .zab-pricegate .zab-pricepop-close { top: 12px; right: 12px; }
    .zab-mlp .zab-pricegate .zab-pricepop-close svg { width: 40px; height: 40px; }
    .zab-mlp .zab-pricegate.is-form .zab-pricepop-close { position: fixed; background: #fff; border-radius: 50%; color: #141414; }
    .zab-mlp .zab-pricegate-form {
        top: 64px; transform: translateX(-50%);
        width: calc(100vw - 32px); max-height: calc(100vh - 80px); max-height: calc(100dvh - 80px);
    }

    /* owner 2026-10-06: the whole lead form fits one phone screen (was 1123px tall in a
       585px card). HubSpot rows are flex columns, so paired fields go side by side; labels
       13px, inputs 34px. Typed inputs keep 16px (iOS focus zoom); the read-only dropdowns
       drop to 12px so "Select company size" fits a half-width column. */
    .zab-mlp .zab-pricegate-form { padding: 14px 0 12px; }
    .zab-mlp .zab-pricegate-form > h2 { font-size: 15px; line-height: 20px; padding: 0 12px; }
    .zab-mlp .zab-pricegate-form .zmit-hsform { padding: 10px 10px 0; }
    .zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-Row { flex-direction: row; align-items: flex-end; gap: 8px; margin-bottom: 10px; }
    .zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-Row > * { flex: 1 1 0; min-width: 0; }
    .zab-mlp .zab-pricegate-form .zmit-hsform label,
    .zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-FieldLabel,
    .zab-mlp .zab-pricegate-form .zmit-hsform label span,
    .zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-FieldLabel span { font-size: 13px !important; line-height: 16px !important; margin-bottom: 4px !important; }
    .zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-TextInput { height: 34px; padding: 5px 8px !important; }
    .zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-DropdownInput .hsfc-TextInput { padding: 5px 28px 5px 6px !important; font-size: 12px !important; text-overflow: ellipsis; }
    .zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-TextareaInput { height: 56px; min-height: 56px !important; padding: 6px 8px !important; }
    .zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-NavigationRow { margin-top: 14px; }
    .zab-mlp .zab-pricegate-form .zmit-hsform .hsfc-Button { padding: 10px 24px !important; }
}

/* Button hovers measured on live with a real pointer (2026-09-29, v3 + v6): the Elementor kit
   keeps the button's own fill/text and only turns the border #045cb4; nothing goes blue text on
   a dark band (the old Bootstrap a:hover #0056b3 made "Call Us Now" vanish on the purple band). */
.zmit.zab-mlp a.zab-lpnav-cta:hover, .zmit.zab-mlp a.zab-lpnav-cta:focus-visible {
    background: #141414; color: #f2f7ff; border-color: #045cb4; text-decoration: none; }
.zmit.zab-mlp a.zab-grow-cta:hover, .zmit.zab-mlp a.zab-grow-cta:focus-visible {
    background: #fff; color: #000; border-color: #045cb4; text-decoration: none; }
.zmit.zab-mlp a.zab-v3cta-btn:hover, .zmit.zab-mlp a.zab-v3cta-btn:focus-visible {
    background: #fff; color: #000; border-color: #045cb4; text-decoration: none; }
.zmit.zab-mlp a.zab-v3cta-ghost:hover, .zmit.zab-mlp a.zab-v3cta-ghost:focus-visible {
    background: transparent; color: #f2f7ff; border-color: #f2f7ff; text-decoration: none; }
