/* ==========================================================================
   penetration-testing-services-v3 + penetration-testing-services-fb
   (both load this sheet; linked AFTER it-managed-services-zazz.css)
   --------------------------------------------------------------------------
   Live template = the "problem / answer" landing page (WP 39649 + 38923):
   dark V-bottom hero with no form, pain list, solve band, pricing cards,
   overlapping recognized card, why grid, expectation steps. Those bands have
   no house equivalent, so they are built here as .zab-lp* from computed styles
   measured on live at 1440 / 375. Every other band (stats, testimonials,
   stories, articles, FAQ, final CTA, contact, pre-footer) is the house zmit
   component from the shared sheet, unchanged.
   Width: every band keeps the house .z-container (1340 content) - live runs
   1380 (CLAUDE.md s7 "Never widen the content box").
   Owner deviation: hero headline capped at 42px/52px above 767px (live 54px).
   ========================================================================== */

.zmit .zab-lp-btn {
    display: inline-flex; align-items: center; gap: 16px;
    padding: 15px 30px; border-radius: 5px;
    background: #0161ff; color: #f2f7ff;
    font-size: 15.38px; line-height: 16px; font-weight: 600;
    transition: background .2s ease;
}
.zmit .zab-lp-btn:hover { background: #141414; color: #f2f7ff; }
.zmit .zab-lp-btn svg { width: 16px; height: 10px; flex: none; fill: currentColor; }
.zmit .zab-lp-btn--light {
    gap: 20px; padding: 13px 35px; border-radius: 8px;
    background: #f2f7ff; color: #0161ff; font-size: 16px; font-weight: 500;
}
.zmit .zab-lp-btn--light:hover { background: #0161ff; color: #fff; }
.zmit .zab-lp-h2 {
    margin: 0; font-size: 33.05px; line-height: 1.3; font-weight: 600;
    letter-spacing: normal; color: #14142b;
}

/* ---------------- hero (7b01685) ---------------- */
.zmit .zab-lphero {
    position: relative; display: flex; flex-direction: column; justify-content: center;
    min-height: 630px; padding: 0 0 100px;
    background: #0b0616 center / cover no-repeat;
    color: #fff; overflow: hidden;
}
.zmit .zab-lphero .z-container { width: 100%; position: relative; z-index: 1; }
.zmit .zab-lphero-copy {
    width: 48%; display: flex; flex-direction: column; align-items: flex-start; gap: 25px;
}
.zmit .zab-lphero h2 {
    margin: 0; font-size: 42px; line-height: 52px; font-weight: 600; letter-spacing: normal; color: #fff;
}
.zmit .zab-lphero h2 span { font-weight: 400; }
.zmit .zab-lphero-sub { padding: 0 0 10px; font-size: 16px; line-height: 26.4px; color: #fff; }
.zmit .zab-lphero-sub p { margin: 0; }
.zmit .zab-lphero-sub strong { font-weight: 700; }
/* fb variant: white-to-clear overlay + dark copy (post-38923 ::before, opacity 1) */
.zmit .zab-lphero--light::before {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: linear-gradient(90deg, #fff 25%, rgba(242, 41, 91, 0) 100%);
}
.zmit .zab-lphero--light h2, .zmit .zab-lphero--light .zab-lphero-sub { color: #14142b; }
.zmit .zab-lphero-shape {
    position: absolute; left: 0; right: 0; bottom: -1px; height: 130px; z-index: 0;
    line-height: 0; pointer-events: none;
}
.zmit .zab-lphero-shape svg { display: block; width: 100%; height: 100%; fill: #fff; }

/* ---------------- pain list (a29799b) ---------------- */
.zmit .zab-pain { padding: 80px 0; background: #fff; }
.zmit .zab-pain .z-container { display: flex; flex-direction: column; align-items: center; gap: 30px; }
.zmit .zab-pain .zab-lp-h2 { text-align: center; }
.zmit .zab-pain-lists { display: flex; justify-content: center; gap: 0 60px; padding: 20px 0; width: 100%; }
.zmit .zab-pain-lists ul { flex: 0 1 auto; min-width: 0; margin: 0; padding: 0; list-style: none; }
.zmit .zab-pain-lists li {
    display: flex; align-items: center; padding: 0 0 7.5px;
    font-size: 18px; line-height: 29.7px; font-weight: 500; color: #000;
}
.zmit .zab-pain-lists li + li { margin-top: 7.5px; }
.zmit .zab-pain-lists li:last-child { padding-bottom: 0; }
.zmit .zab-pain-lists li svg { flex: none; width: 22px; height: 22px; margin-right: 5.5px; fill: #046bd2; }
.zmit .zab-pain-lists li span { padding-left: 5px; }
.zmit .zab-pain-answer {
    margin: 0; padding: 0 0 15px; width: 100%; text-align: center;
    font-size: 24px; line-height: 43.2px; font-weight: 400; letter-spacing: normal; color: #14142b;
}

/* ---------------- solve (2216570) ---------------- */
.zmit .zab-solve { padding: 80px 0; background: #f2f7ff; }
.zmit .zab-solve .z-container { display: flex; align-items: flex-start; gap: 0 60px; }
.zmit .zab-solve-copy { flex: 1 1 0; display: flex; flex-direction: column; align-items: flex-start; gap: 30px; }
.zmit .zab-solve-text { padding: 0 0 10px; font-size: 16px; line-height: 26.4px; color: #14142b; }
.zmit .zab-solve-text p { margin: 0; }
.zmit .zab-solve-text strong { font-weight: 700; }
.zmit .zab-solve-list { flex: 1 1 0; display: flex; flex-direction: column; gap: 20px; }
.zmit .zab-solve-item { padding: 25px; border-left: 2px solid #046bd2; }
.zmit .zab-solve-item h3,
.zmit .zab-lpwhy-card h3,
.zmit .zab-expect-card h3 {
    margin: 0 0 12px; font-size: 20px; line-height: 24px; font-weight: 700; letter-spacing: normal; color: #141414;
}
.zmit .zab-solve-item p,
.zmit .zab-lpwhy-card p,
.zmit .zab-expect-card p { margin: 0; font-size: 15px; line-height: 22.5px; color: rgba(20, 20, 20, .7); }
.zmit .zab-lpwhy-card p a { color: #046bd2; }

/* ---------------- pricing (91eba2a / 03c31d3) ---------------- */
.zmit .zab-price { padding: 40px 0 0; background: #fff; }
.zmit .zab-price .zab-lp-h2 { text-align: center; margin-bottom: 50px; }
.zmit .zab-price-grid { display: flex; align-items: stretch; }
.zmit .zab-price-col { flex: 1 1 0; min-width: 0; padding: 10px; display: flex; }
.zmit .zab-plan {
    position: relative; flex: 1; display: flex; flex-direction: column;
    background: #fff; border: 1px solid #000; border-radius: 10px; overflow: hidden;
    font-size: 16px; line-height: 26.4px;
}
.zmit .zab-plan-badge {
    position: absolute; top: 16px; left: -70px; width: 200px; z-index: 2;
    padding: 5px 0; transform: rotate(-45deg);
    background: #4300ff; color: #fff; font-size: 10px; line-height: 10px; text-align: center;
}
.zmit .zab-plan-top { display: flex; flex-direction: column; align-items: center; padding: 20px; }
.zmit .zab-plan-ico {
    display: flex; align-items: center; justify-content: center;
    width: 80px; height: 80px; border-radius: 100px; background: #f4f4f4;
    font-size: 20px; line-height: 20px; color: #000;
}
.zmit .zab-plan-ico svg { width: 20px; height: 20px; fill: #000; }
.zmit .zab-plan-title { margin-top: 5px; font-size: 18px; line-height: 29.7px; color: #000; text-align: center; }
.zmit .zab-plan-sub { margin-top: 5px; color: #878787; }
.zmit .zab-plan-head { padding: 20px; background: #000; text-align: center; }
.zmit .zab-plan-price { margin-top: 5px; font-size: 35px; line-height: 57.75px; color: #fff; }
.zmit .zab-plan-price small { display: inline-block; font-size: 15px; line-height: 24.75px; }
.zmit .zab-plan-main { flex: 1; padding: 20px; min-height: 100px; }
.zmit .zab-plan-list { margin: 20px 0 0; padding: 0; list-style: none; color: #8a8a8a; }
.zmit .zab-plan-list li { display: flex; align-items: center; padding: 10px; }
.zmit .zab-plan-list li svg { flex: none; width: 13px; height: 15px; margin-right: 10px; fill: #000; }
.zmit .zab-plan-foot { padding: 20px; background: #efefef; text-align: center; }
.zmit .zab-plan-btn {
    display: inline-block; padding: 10px 20px; border-radius: 100px;
    background: #000; color: #fff; font-size: 16px; line-height: 26.4px;
}
.zmit .zab-plan-btn:hover { color: #fff; opacity: .85; }
.zmit .zab-plan-note { margin-top: 10px; color: #9a9a9a; }

/* ---------------- bookcal (92c82ab) - house .zmit-bookcal, live spacing ---------------- */
.zmit .zmit-bookcal.zab-lpcal { padding: 30px 0 0; margin-top: 50px; }
.zmit .zab-lpcal h2 { font-size: 30px; line-height: 39px; font-weight: 400; margin: 0 0 20px; color: #14142b; text-align: center; letter-spacing: normal; }
.zmit .zab-lpcal .z-container > p { font-size: 16px; line-height: 26.4px; color: #14142b; text-align: center; margin: -10px auto 0; }
.zmit .zab-lpcal .zmit-bookcal-embed { margin-top: 30px; }

/* ---------------- recognized (f6fae33): overlaps the bands above/below ---------------- */
.zmit .zab-lprec { position: relative; z-index: 1; margin: -132px 0 -158px; padding: 80px 0 0; }
.zmit .zab-lprec-card {
    display: flex; justify-content: space-between; align-items: center;
    padding: 40px; border-radius: 10px; background: #141414;
}
.zmit .zab-lprec-copy { flex: 0 1 845px; display: flex; flex-wrap: wrap; align-items: center; gap: 20px 0; }
.zmit .zab-lprec h2 {
    width: 100%; margin: 0; font-size: 30px; line-height: 42px; font-weight: 300; letter-spacing: normal; color: #fff;
}
.zmit .zab-lprec-copy > p { width: 100%; margin: 0; font-size: 16px; line-height: 26.4px; font-weight: 300; color: #f2f7ff; }
.zmit .zab-lprec-copy img { display: inline-block; height: 70px; width: auto; }
.zmit .zab-lp-btn--rec {
    gap: 16px; padding: 20px 30px; border-radius: 8px;
    background: #f2f7ff; color: #141414; font-size: 16px; font-weight: 500;
}
.zmit .zab-lp-btn--rec:hover { background: #0161ff; color: #fff; }

/* ---------------- why (cfcd04b) ---------------- */
.zmit .zab-lpwhy { padding: 300px 0 100px; background: #eff0f7; }
.zmit .zab-lpwhy .z-container { display: flex; gap: 50px; }
.zmit .zab-lpwhy-copy { flex: 1 1 0; display: flex; flex-direction: column; gap: 20px; }
.zmit .zab-lpwhy-copy h2 { margin: 0; font-size: 34px; line-height: 44.2px; font-weight: 400; letter-spacing: normal; color: #14142b; }
.zmit .zab-lpwhy-copy > div { font-size: 18px; line-height: 27px; color: #14142b; }
.zmit .zab-lpwhy-copy > div p { margin: 0; }
.zmit .zab-lpwhy-grid { flex: 1 1 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-content: start; }
.zmit .zab-lpwhy-card { padding: 20px; display: flex; flex-direction: column; gap: 15px; }
.zmit .zab-lpwhy-card .ic { line-height: 0; }
.zmit .zab-lpwhy-card .ic svg { width: 50px; height: 50px; }

/* ---------------- expectation steps (124efe3) ---------------- */
.zmit .zab-expect { padding: 80px 0; background: #f2f7ff; }
.zmit .zab-expect .z-container { display: flex; flex-direction: column; align-items: center; gap: 20px 0; }
.zmit .zab-expect .zab-lp-h2 { text-align: center; }
.zmit .zab-expect-lead { margin: 0; padding: 0 0 10px; font-size: 16px; line-height: 26.4px; color: #14142b; text-align: center; }
.zmit .zab-expect-waves { width: 1201px; max-width: 100%; height: auto; }
.zmit .zab-expect-grid { display: flex; gap: 20px; width: 90%; margin: -140px 0 0; padding: 0 0 40px; }
.zmit .zab-expect-card { flex: 1 1 0; padding: 20px; display: flex; flex-direction: column; align-items: center; gap: 25px; text-align: center; }
.zmit .zab-expect-card .ic {
    display: flex; align-items: center; justify-content: center;
    width: 104px; height: 104px; padding: 27px; border-radius: 50%; background: #fff; box-sizing: border-box;
}
.zmit .zab-expect-card .ic svg { width: 50px; height: 50px; }

/* ==================== tablet ==================== */
@media (max-width: 1024px) {
    .zmit .zab-lphero { min-height: 520px; padding: 50px 0; }
    .zmit .zab-lphero-shape { height: 100px; }
    .zmit .zab-lphero-copy { width: 100%; }
    .zmit .zab-solve .z-container,
    .zmit .zab-lpwhy .z-container { flex-direction: column; gap: 50px; }
    .zmit .zab-solve-copy, .zmit .zab-solve-list, .zmit .zab-lpwhy-copy, .zmit .zab-lpwhy-grid { width: 100%; flex: none; }
    .zmit .zab-price-grid { flex-wrap: wrap; }
    .zmit .zab-price-col { flex: 0 0 50%; }
    .zmit .zab-lprec-card { flex-direction: column; align-items: flex-start; gap: 30px; }
}

/* ==================== mobile (live <=767) ==================== */
@media (max-width: 767px) {
    .zmit .zab-lp-h2 { font-size: 26px; line-height: 33.8px; }
    .zmit .zab-lp-btn { font-size: 13px; }
    .zmit .zab-lp-btn--light { width: 100%; justify-content: center; padding: 12px 24px; font-size: 12px; line-height: 12px; }

    .zmit .zab-lphero { min-height: 540px; padding: 20px 0 60px; }
    .zmit .zab-lphero-shape { height: 70px; }
    .zmit .zab-lphero h2 { font-size: 34px; line-height: 1.2; }
    .zmit .zab-lphero-sub { font-size: 14px; line-height: 23.1px; }

    .zmit .zab-pain { padding: 60px 0 70px; }
    .zmit .zab-pain-lists { flex-direction: column; gap: 25px 0; padding: 10px 0; }
    .zmit .zab-pain-lists ul { max-width: none; }
    .zmit .zab-pain-lists li { align-items: flex-start; padding-bottom: 9px; font-size: 15px; line-height: 22.5px; }
    .zmit .zab-pain-lists li + li { margin-top: 9px; }
    .zmit .zab-pain-answer { font-size: 20px; line-height: 34px; }

    .zmit .zab-solve { padding: 60px 0 70px; }
    .zmit .zab-solve .z-container { gap: 70px 0; }
    .zmit .zab-solve-copy { gap: 20px 0; }
    .zmit .zab-solve-text { font-size: 14px; line-height: 23.1px; }
    .zmit .zab-solve-list { gap: 16px 0; }
    .zmit .zab-solve-item { padding: 20px; }
    .zmit .zab-solve-item h3, .zmit .zab-lpwhy-card h3 { font-size: 16px; line-height: 19.2px; }
    .zmit .zab-solve-item p, .zmit .zab-lpwhy-card p { font-size: 14px; line-height: 21px; }

    .zmit .zab-price-col { flex: 0 0 100%; padding: 10px 0; }

    .zmit .zab-lprec { margin: 0; padding: 0; }
    .zmit .zab-lprec-card { gap: 40px; padding: 60px 20px; border-radius: 0; }
    .zmit .zab-lprec-copy { flex: none; width: 100%; }
    .zmit .zab-lprec h2 { font-size: 27px; line-height: 37.8px; }
    .zmit .zab-lprec-copy img { flex: 0 0 100%; width: auto; height: 70px; object-fit: contain; }
    .zmit .zab-lp-btn--rec { width: 100%; justify-content: center; padding: 15px; font-size: 13px; line-height: 13px; }

    .zmit .zab-lpwhy { padding: 70px 0 50px; }
    .zmit .zab-lpwhy-copy { gap: 40px; }
    .zmit .zab-lpwhy-copy h2 { font-size: 28px; line-height: 36.4px; }
    .zmit .zab-lpwhy-copy > div { font-size: 14px; line-height: 21px; }
    .zmit .zab-lpwhy-grid { grid-template-columns: 1fr; gap: 30px; }
    .zmit .zab-lpwhy-card { padding: 0; }

    .zmit .zab-expect { padding: 70px 0; }
    .zmit .zab-expect-lead { font-size: 14px; line-height: 23.1px; padding-bottom: 40px; }
    .zmit .zab-expect-grid { flex-direction: column; width: 100%; gap: 40px 0; margin-top: -70px; padding-bottom: 30px; }
    .zmit .zab-expect-card { padding: 0; }
    .zmit .zab-expect-card .ic { width: 77px; height: 77px; padding: 20px; }
    .zmit .zab-expect-card .ic svg { width: 37px; height: 37px; }
    .zmit .zab-expect-card h3 { font-size: 17px; line-height: 20.4px; }
}
@media (max-width: 544px) {
    .zmit .zab-lphero h2 { font-size: 31px; }
}

/* ==========================================================================
   House components, re-measured to live. Live element ids: 9d19ee4 stats,
   65e1765 testimonials, 9ca9c81 stories (loop 12066), a8181a9 articles
   (listing 25421), 1ad22e1 FAQ, e3a91e7 final CTA (component 8864).
   ========================================================================== */
.zmit .zmit-stats.z-section { margin: 0; }
.zmit .zmit-stats-copy { max-width: none; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.zmit .zmit-stats-copy .zmit-stats-eyebrow { margin: 0; max-width: none; font-size: 16px; line-height: 19.2px; font-weight: 600; letter-spacing: normal; color: #fcfcfc; }
.zmit .zmit-stats-copy h3 { margin: 0; font-size: 34px; line-height: 44.2px; font-weight: 400; letter-spacing: normal; color: #fcfcfc; }
.zmit .zmit-stats-copy .z-btn { margin-top: 30px; padding: 13px 35px; border-radius: 8px; background: #f2f7ff; color: #0161ff; font-size: 16px; line-height: 16px; font-weight: 500; gap: 16px; }
.zmit .zmit-stat .big { margin: 0 0 18px; }

.zmit .zmit-story { --zs-inset: 0px; padding: 0 0 20px; border-radius: 5px; background: #eff0f7; }
.zmit .zmit-story-img { border-radius: 5px 5px 0 0; }
.zmit .zmit-story-img img { width: 100%; height: 250px; object-fit: cover; }
.zmit .zmit-story .body { display: flex; flex-direction: column; gap: 20px; padding: 20px 0 0; }
.zmit .zmit-story .body .zmit-story-logos { margin: 0; padding: 0 25px; min-height: 0; }
.zmit .zmit-story .body .zmit-story-logo { height: 50px; width: auto; max-width: 100%; margin: 0; object-fit: contain; }
.zmit .zmit-story h3 { margin: 0; padding: 0 25px; font-size: 18px; line-height: 25.2px; font-weight: 700; letter-spacing: normal; color: #14142b; }
.zmit .zmit-story p { margin: 0; padding: 0 30px 30px; font-size: 14px; line-height: 23.1px; color: #14142b; }

.zmit .zmit-articles-more { padding: 0 0 5px; font-size: 16px; line-height: 16px; font-weight: 500; color: #141414; border-bottom: 1px solid #141414; }
.zmit .zmit-article { border-radius: 10px; overflow: hidden; gap: 10px; }
.zmit .zmit-article-img { border-radius: 0; }
.zmit .zmit-article-img img { width: 100%; height: 270px; object-fit: cover; }
.zmit .zmit-article .body { padding: 0; display: flex; flex-direction: column; gap: 10px; }
.zmit .zmit-article .date { margin: 0; padding: 0 10px; font-size: 14px; line-height: 23.1px; font-weight: 500; color: #0161ff; }
.zmit .zmit-article h3 { margin: 0; padding: 0 10px 20px; font-size: 24px; line-height: 28.8px; font-weight: 600; letter-spacing: normal; color: #141414; }

.zmit .zmit-faq-a-inner p { font-size: 16px; line-height: 25.6px; color: #d9dbe9; }
.zmit .zmit-faq-q { color: #fcfcfc; }

.zmit .zmit-final.z-section { padding: 0; }
.zmit .zmit-final-banner { padding: 0; align-items: stretch; justify-content: space-between; border-radius: 5px; background: linear-gradient(102.29deg, #ECF1EB 8.75%, #AEC8FD 45.11%, #84C3FC 81.46%); }
.zmit .zmit-final-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 20px; }
.zmit .zmit-final-copy h2 { margin: 0; font-size: 33.05px; line-height: 1.3; font-weight: 600; letter-spacing: normal; color: #14142b; }
.zmit .zmit-final-copy p { margin: 0; max-width: none; font-size: 17.16px; line-height: 25.2px; color: #14142b; }
.zmit .zmit-final-copy .z-btn { padding: 15px 30px; border-radius: 5px; font-size: 15.38px; line-height: 16px; gap: 16px; background: #0161ff; color: #f2f7ff; }
.zmit .zmit-final-media { line-height: 0; }

@media (min-width: 768px) {
    .zmit .zmit-stats.z-section { padding: 60px 0 50px; }
    .zmit .zmit-stats-layout { grid-template-columns: 443px minmax(0, 1fr); gap: 50px; }
    .zmit .zmit-stats-grid { display: flex; justify-content: space-between; gap: 20px; }
    .zmit .zmit-stat { flex: 0 0 266px; }

    .zmit .zmit-testi.z-section { padding: 80px 0; }
    .zmit .zmit-testi h2 { margin: 0 0 50px; font-size: 34px; line-height: 44.2px; font-weight: 300; letter-spacing: normal; color: #14142b; }
    .zmit .zmit-testi-card { min-height: 0; padding: 80px; border-radius: 5px; background: linear-gradient(102.29deg, #ECF1EB 8.75%, #AEC8FD 45.11%, #84C3FC 81.46%); }
    .zmit .zmit-testi-role { margin: 0; padding: 0 0 5px; font-size: 22px; line-height: 28.6px; font-weight: 600; letter-spacing: normal; color: #14142b; }
    .zmit .zmit-testi-rule { width: 24px; height: 3px; margin: 0; }
    .zmit .zmit-testi-lead { margin: 0; padding: 10px 0; font-size: 34px; line-height: 47.6px; font-weight: 600; color: #14142b; }
    .zmit .zmit-testi-quote { margin: 0 0 28.8px; font-size: 18px; line-height: 29.7px; color: #14142b; }

    .zmit .zmit-stories.z-section { padding: 30px 0; }
    .zmit .zmit-stories h2 { margin: 0 0 20px; font-size: 30px; line-height: 39px; font-weight: 300; letter-spacing: normal; color: #141414; }
    .zmit .zmit-stories-grid { gap: 30px; }

    .zmit .zmit-articles.z-section { padding: 50px 0 30px; }
    .zmit .zmit-articles-head { margin: 0 0 30px; }
    .zmit .zmit-articles-head h2 { font-size: 39px; line-height: 58.5px; font-weight: 400; letter-spacing: normal; color: #141414; }

    .zmit .zmit-faq.z-section { padding: 80px 0 120px; }
    .zmit .zmit-faq h2 { margin: 0 0 30px; font-size: 34px; line-height: 44.2px; font-weight: 400; letter-spacing: normal; color: #14142b; }

    .zmit .zmit-final.z-section { margin: 150px 0 80px; }
    .zmit .zmit-final-copy { flex: 0 0 50%; max-width: 50%; padding: 50px; }
    .zmit .zmit-final-media { align-self: flex-end; margin: -138px 0 0; }
    .zmit .zmit-final-media img { width: 500px; max-width: none; height: auto; }
}
@media (max-width: 767px) {
    .zmit .zmit-stats.z-section { padding: 60px 0 70px; }
    .zmit .zmit-stats-layout { grid-template-columns: 1fr; gap: 50px; }
    .zmit .zmit-stats-copy .zmit-stats-eyebrow { line-height: 24px; }
    .zmit .zmit-stats-copy h3 { font-size: 22.9px; line-height: 29.8px; }
    .zmit .zmit-stats-copy .z-btn { margin-top: 0; padding: 12px 24px; font-size: 14.6px; line-height: 14.6px; }
    .zmit .zmit-stats-grid { gap: 20px; }
    .zmit .zmit-stat .big { font-size: 48px; line-height: 48px; }

    .zmit .zmit-stories.z-section { padding: 60px 0; }
    .zmit .zmit-stories h2 { margin: 0 0 30px; font-size: 27px; line-height: 35.1px; font-weight: 300; color: #141414; }
    .zmit .zmit-stories-grid { gap: 30px; }
    .zmit .zmit-story .body .zmit-story-logos, .zmit .zmit-story h3 { padding: 0 20px; }

    .zmit .zmit-articles.z-section { padding: 50px 0 30px; }
    .zmit .zmit-articles-head { margin: 0 0 30px; gap: 30px; }
    .zmit .zmit-articles-head h2 { font-size: 38px; line-height: 38px; font-weight: 400; color: #141414; }
    .zmit .zmit-articles-grid { gap: 20px; }

    .zmit .zmit-final.z-section { margin: 50px 0; }
    .zmit .zmit-final-banner { flex-direction: column; }
    .zmit .zmit-final-copy { max-width: none; padding: 30px 20px; }
    .zmit .zmit-final-copy p { font-size: 14px; }
    .zmit .zmit-final-copy .z-btn { font-size: 13px; }
    .zmit .zmit-final-media { margin: -40px 0 0; }
    .zmit .zmit-final-media img { width: 100%; height: 500px; object-fit: cover; }
}

/* Button hovers measured on live with a real pointer (2026-09-29): blue CTAs -> #141414 with
   light text; light (#f2f7ff) CTAs -> #b3d0ff keeping their own text colour; border #045cb4.
   The house .z-btn-primary hover used var(--z-blue-dark), undefined on this page, so the final
   CTA went transparent with white text and vanished. No lift (live has no transform). */
.zmit .zab-lp-btn:hover, .zmit .zab-lp-btn:focus-visible,
.zmit .z-btn.z-btn-primary:hover, .zmit .z-btn.z-btn-primary:focus-visible {
    background: #141414; color: #f2f7ff; border-color: #045cb4; transform: none; }
.zmit .zab-lp-btn--light:hover, .zmit .zab-lp-btn--light:focus-visible,
.zmit .z-btn.z-btn-light:hover, .zmit .z-btn.z-btn-light:focus-visible {
    background: #b3d0ff; color: #0161ff; border-color: #045cb4; transform: none; }
.zmit .zab-lp-btn--rec:hover, .zmit .zab-lp-btn--rec:focus-visible {
    background: #b3d0ff; color: #141414; border-color: #045cb4; transform: none; }
/* OWNER 2026-09-29: the hero CTA turns white with black text on hover (both pentest pages). */
.zmit .zab-lphero-copy .zab-lp-btn:hover, .zmit .zab-lphero-copy .zab-lp-btn:focus-visible {
    background: #fff; color: #000; border-color: #fff; }
