body.home #header-outer,
body.home #header-space,
body.home #slide-out-widget-area,
body.home #footer-outer,
body.home #nectar_fullscreen_rows,
body.home .nectar-skip-to-content {
  display: none !important;
}
/* Belt-and-suspenders: even if a host with populated salient_redux
   re-shows #header-space (its height comes from the Redux header-size
   default, ~90px), zero its dimensions on the home page where the
   .psh-site-header global section is our header instead. */
body.home #header-space {
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Specificity bump for the -120px hoist below.
 *
 * On local dev the original `body.home .parabilis-wpbakery-home {
 * margin-top: -120px !important; }` rule at line ~700 below wins fine.
 * On staging/production the host's Salient inline CSS (≈40KB larger
 * than local because the salient_redux option is fully populated with
 * defaults instead of our minimal 3-key version) somewhere wins the
 * cascade and leaves the homepage content sitting BELOW the global-
 * section header band, exposing the page's white background as a
 * ~115px white strip above the hero (where the white nav items vanish
 * into white-on-white). The white-bar bug only manifested once we
 * deployed to a host where Salient's defaults aren't suppressed by
 * the local PHP-warning short-circuit in colors.php.
 *
 * Fix: re-declare the hoist with a higher-specificity selector
 * (`html body.home` adds an element to the selector chain, bumping
 * specificity from (0,2,1) to (0,2,2)) so it wins against whatever
 * the host's inline CSS pushed. Background-transparent on the
 * `.nectar-global-section.after-nav` wrapper is belt-and-suspenders
 * in case the parent paints white through the transparent header. */
html body.home .parabilis-wpbakery-home {
  margin-top: -120px !important;
}
html body.home .nectar-global-section.after-nav {
  background: transparent !important;
}

body.home #ajax-content-wrap,
body.home .container-wrap,
body.home .main-content,
body.home .row {
  margin: 0 !important;
  padding: 0 !important;
}

body.home #ajax-content-wrap,
body.home .container-wrap {
  background: #fff !important;
}

body.home .container.main-content,
body.home .container-wrap > .container,
body.home .wpb_row,
body.home .wpb_wrapper {
  width: 100% !important;
  max-width: none !important;
}

/* Salient ships `.wpb_row { margin-bottom: 35px }` as a global default
   (computes to ~27px in our home layout) which inserts a white gap
   between every section on the homepage — visible as horizontal
   "stripes" of empty white between rows. The migrated sections
   (psh-row-*) ARE wpb_rows themselves (the [vc_row] shortcode renders
   as <div class="vc_row wpb_row psh-row-*">), and they handle their
   own vertical rhythm via padding-top / padding-bottom (figma's
   section-to-section spacing baked into each stage-1-exact.html), so
   the inherited 35px margin-bottom is purely additive and unwanted.
   Zero it on every migrated row directly. */
body.home .wpb_row[class*="psh-row-"] {
  margin-bottom: 0 !important;
}

body.home .parabilis-salient-home {
  margin-top: 0 !important;
}

/* Legacy "floating-pill" header rules (position:fixed, top:50px, left:50%,
   transform:translateX(-50%), grid-template-columns:296px 1fr auto, plus an
   `.is-scrolled` / `.is-open` variant that collapsed padding to 16px 22px and
   added border-radius:999px) lived here. They have been fully replaced by the
   full-bleed header rendered out of the Salient global section
   (`migrations/global/header/stage-1-exact.html` → stage-4 shortcode), which
   uses position:relative, display:flex, padding:0 178px, and a fixed ::before
   for the dark navy band. The legacy `.is-scrolled` rule in particular caused
   a visible left-shift the moment scrollY > 24 because it shrank the
   horizontal padding from 178px to 22px while parabilis-salient.js was still
   adding the class on every scroll. Removed entirely so the global-section
   styles are the only source of truth for desktop. The mobile pill styling
   below at @media (max-width: 840px) is intentionally preserved. */

/* Break the header row out of Salient's `.container.normal-container`
   constraint so the nav uses the full viewport width.

   The header markup lives inside a [vc_row] which Salient nests inside a
   `.container.normal-container.row` — that container computes to ~1564px
   on a 1920 viewport (Salient's responsive max). With `.psh-site-header`
   set to `width: 100%; padding: 0 178px`, the inner content area is
   only 1564 - 356 = 1208px, but the actual content (361px logo + 772px
   nav + 164px utility = 1297px) overflows it, which collapses the
   `margin-right: auto` gap between the brand and the first nav item to
   zero. Figma renders that gap at ~285px because the figma frame is the
   full 1920 viewport with a ~70px gutter — i.e. a 1780px inner content
   area, leaving plenty of room for the gap.

   Fix: override the Salient container so the wpb_row carrying the
   header expands to 100vw on screens >= 1180px. We scope this strictly
   to `.nectar-global-section.after-nav` (the wrapper Salient gives
   global-section "after nav" placements) so we don't touch other
   containers. */
@media (min-width: 1180px) {
  .nectar-global-section.after-nav .container.normal-container,
  .nectar-global-section.after-nav .container.normal-container.row,
  .nectar-global-section.after-nav .wpb_row,
  .nectar-global-section.after-nav .row_col_wrap_12,
  .nectar-global-section.after-nav .vc_col-sm-12,
  .nectar-global-section.after-nav .vc_column-inner,
  .nectar-global-section.after-nav .wpb_wrapper,
  .nectar-global-section.after-nav .wpb_raw_code,
  .nectar-global-section.after-nav .psh-site-header {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* The two row_col_wrap_12 / vc_col-sm-12 nodes in the chain ship
     ~16px of negative margin from Salient's column-gap math — zero
     it out so the inner edges stay at viewport x=0 and x=100vw. */
  .nectar-global-section.after-nav .row_col_wrap_12,
  .nectar-global-section.after-nav .vc_col-sm-12 {
    left: 0 !important;
    right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

.psh-brand img {
  display: block;
  width: 296px;
  max-width: min(296px, 25vw);
}

.psh-main-nav,
.psh-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(24px, 2.9vw, 56px);
}

.psh-nav-item > a,
.psh-nav-contact {
  display: inline-flex;
  align-items: center;
  color: inherit !important;
  font-family: "Roboto", Arial, sans-serif;
  font-size: clamp(15px, 1.25vw, 24px);
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
}

.psh-nav-contact {
  font-weight: 500;
}

.psh-nav-item > a::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 13px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-3px) rotate(45deg);
}

.psh-nav-item {
  position: static;
}

.psh-mega-menu {
  position: absolute;
  top: calc(100% + 42px);
  left: 50%;
  display: grid;
  width: min(81.45vw, 1564px);
  min-height: clamp(520px, 44vw, 840px);
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap: clamp(54px, 5.4vw, 104px);
  padding: clamp(58px, 6.1vw, 116px) clamp(52px, 5.5vw, 106px);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 28px 90px rgba(0, 44, 68, 0.2);
  color: #002c44;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transform: translate(-50%, 12px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  backdrop-filter: blur(20px);
}

.psh-nav-item:hover .psh-mega-menu,
.psh-nav-item:focus-within .psh-mega-menu,
.psh-nav-item.is-open .psh-mega-menu {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translate(-50%, 0);
}

.psh-mega-menu__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(36px, 4.2vw, 82px);
  align-content: start;
}

.psh-mega-menu__columns h3 {
  margin: 0 0 clamp(44px, 4.7vw, 92px);
  color: #0070c0;
  font-family: "Poppins", "Roboto", Arial, sans-serif;
  font-size: clamp(16px, 1.25vw, 24px);
  font-weight: 500;
}

.psh-mega-menu__columns a {
  display: block;
  margin-bottom: clamp(28px, 3vw, 58px);
  color: inherit !important;
  font-family: "Poppins", "Roboto", Arial, sans-serif;
  font-size: clamp(22px, 1.56vw, 30px);
  font-weight: 500;
  line-height: 1.15;
  text-decoration: none;
}

.psh-mega-menu__feature {
  display: grid;
  grid-template-columns: 46% 1fr;
  gap: clamp(28px, 3.1vw, 58px);
  align-items: stretch;
}

.psh-mega-menu__feature--image-only {
  grid-template-columns: 1fr;
}

.psh-mega-menu__feature img {
  width: 100%;
  min-height: 280px;
  max-height: 560px;
  object-fit: cover;
}

.psh-mega-menu__feature h3 {
  margin: 0 0 22px;
  font-family: "Poppins", "Roboto", Arial, sans-serif;
  font-size: clamp(24px, 2.25vw, 42px);
  font-weight: 600;
  line-height: 1.13;
}

.psh-mega-menu__feature p {
  margin: 0 0 32px;
  color: rgba(0, 44, 68, 0.74);
  font-size: clamp(17px, 1.25vw, 24px);
  line-height: 1.35;
}

.psh-mega-menu__feature a {
  color: #0070c0 !important;
  font-weight: 500;
  text-decoration: none;
}

.psh-icon-button,
.psh-menu-toggle {
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.psh-icon-button {
  position: relative;
  width: 32px;
  height: 32px;
  padding: 0;
}

.psh-icon-button span {
  position: absolute;
  inset: 4px 7px 8px 4px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.psh-icon-button span::after {
  content: "";
  position: absolute;
  right: -7px;
  bottom: -6px;
  width: 10px;
  height: 2px;
  background: currentColor;
  transform: rotate(45deg);
}

.psh-menu-toggle {
  display: none;
  justify-self: end;
  width: 42px;
  padding: 8px 4px;
}

.psh-menu-toggle span {
  display: block;
  height: 2px;
  margin: 7px 0;
  background: #fff;
}

.psh-site-footer {
  background: #fff;
  padding: 98px 0 58px;
  color: #002c44;
}

.psh-footer-container {
  width: min(81.45vw, 1564px);
  max-width: calc(100vw - 48px);
  margin: 0 auto;
}

.psh-footer-main {
  display: grid;
  grid-template-columns: 524px 1fr;
  gap: 96px;
}

.psh-footer-brand img {
  width: 403px;
}

.psh-footer-brand p {
  margin: 80px 0 52px;
  font-family: "Poppins", "Roboto", Arial, sans-serif;
  font-size: clamp(24px, 1.45vw, 28px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.025em;
}

.psh-social {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  background: #002c44;
  color: #fff !important;
  font-weight: 600;
  text-decoration: none;
}

.psh-footer-menu {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.psh-footer-menu h3 {
  margin: 0;
  color: #0070c0;
  font-size: clamp(24px, 1.875vw, 36px);
  font-weight: 600;
  line-height: 1.35;
}

.psh-footer-menu a {
  display: block;
  margin: 12px 0 0;
  color: inherit !important;
  font-size: clamp(20px, 1.55vw, 30px);
  font-weight: 400;
  line-height: 1.55;
  text-decoration: none;
}

.psh-footer-legal {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 82px;
  color: rgba(0, 0, 0, 0.35);
  font-size: 18px;
}

.psh-footer-legal p {
  margin: 0;
}

.psh-footer-legal div {
  display: flex;
  gap: 34px;
}

.psh-footer-legal a {
  color: inherit !important;
  text-decoration: none;
}

/* ============================================================
   Header responsive sizing (replaces the legacy 1180/840 break-
   points). The header has three regimes:

     >= 1180px  full figma layout, scaled by clamp() inside
                stage-1-exact.html's <style>.
     1100–1180  desktop "compact" scaling — same DOM, tighter
                padding/font-size to keep the brand → nav → utility
                row under one viewport without overflow.
     < 1100px   hamburger drawer — nav + utility collapse into a
                slide-down panel toggled by .psh-menu-toggle. The
                drawer is implemented as a single `<div .psh-drawer>`
                wrapper around <nav> + <div .psh-utility> so we can
                drop the pair together (avoids the multi-sibling
                overlap problem of absolutely-positioning two
                independent panels at top:100%).
   ============================================================ */

/* Desktop default — drawer is layout-transparent. */
.psh-site-header .psh-drawer {
  display: contents;
}

/* Hamburger toggle hidden by default; shown below 1100px. */
.psh-site-header .psh-menu-toggle {
  display: none;
  position: relative;
  width: 44px;
  height: 36px;
  padding: 0;
  margin-left: 18px;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: #fff;
}

.psh-site-header .psh-menu-toggle span {
  position: absolute;
  left: 8px;
  right: 8px;
  height: 2px;
  background: currentColor;
  transition: transform 200ms ease, opacity 200ms ease, top 200ms ease;
}

.psh-site-header .psh-menu-toggle span:nth-child(1) { top: 10px; }
.psh-site-header .psh-menu-toggle span:nth-child(2) { top: 17px; }
.psh-site-header .psh-menu-toggle span:nth-child(3) { top: 24px; }

.psh-site-header.is-open .psh-menu-toggle span:nth-child(1) {
  top: 17px;
  transform: rotate(45deg);
}
.psh-site-header.is-open .psh-menu-toggle span:nth-child(2) {
  opacity: 0;
}
.psh-site-header.is-open .psh-menu-toggle span:nth-child(3) {
  top: 17px;
  transform: rotate(-45deg);
}

/* Progressive desktop compact: 1100–1500. Squeeze the inner padding
   and gaps fluidly so the nav stays on one row down to ~1100px,
   instead of overflowing between the 1180 and 840 legacy breakpoints. */
@media (min-width: 1100px) and (max-width: 1499.98px) {
  .psh-site-header {
    /* Horizontal frame padding scales 178 → 32 across 1500 → 1100 */
    padding-left: clamp(32px, 4.45vw, 178px) !important;
    padding-right: clamp(32px, 4.45vw, 178px) !important;
  }
  /* Main nav gap scales 56 → 18 */
  .psh-site-header .psh-main-nav {
    gap: clamp(18px, 1.9vw, 56px);
  }
  /* Nav item type scales 24 → 14 fluidly */
  .psh-site-header .psh-nav-item > a {
    font-size: clamp(13px, 1.1vw, 24px);
  }
  /* Brand image scales 296 → 200 */
  .psh-site-header .psh-brand-img {
    width: clamp(200px, 18vw, 296px);
  }
  /* Utility cluster: tighten gap + button minimums */
  .psh-site-header .psh-utility {
    gap: clamp(10px, 1vw, 24px);
  }
  .psh-site-header .psh-contact {
    padding: 10px clamp(14px, 1.3vw, 28px);
    font-size: clamp(13px, 1.05vw, 18px);
  }
}

/* Hamburger drawer regime: < 1100px. Nav + utility hide; toggle
   shows; tapping toggle slides the drawer down from below the
   header band. Authored as a separate stacking context so the
   header background continues to paint behind it. */
@media (max-width: 1099.98px) {
  /* Header bar collapses to: brand | (spacer) | toggle */
  .psh-site-header {
    /* Restore reasonable horizontal padding so the brand + toggle
       both sit a comfortable distance from the viewport edge. */
    padding-left: clamp(20px, 5vw, 64px) !important;
    padding-right: clamp(20px, 5vw, 64px) !important;
  }

  /* Show the toggle */
  .psh-site-header .psh-menu-toggle {
    display: block;
  }

  /* Drawer becomes an absolutely-positioned dropdown panel. */
  .psh-site-header .psh-drawer {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    /* Dark navy panel matching the header band */
    background: #002c44;
    padding: 12px 0 24px;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.35);
    /* Hidden until .is-open */
    visibility: hidden;
    opacity: 0;
    transform: translateY(-12px);
    pointer-events: none;
    transition: opacity 220ms ease, transform 220ms ease, visibility 220ms ease;
    z-index: 60;
  }
  .psh-site-header.is-open .psh-drawer {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  /* Stack nav vertically within the drawer */
  .psh-site-header .psh-main-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
  }
  .psh-site-header .psh-nav-item {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }
  .psh-site-header .psh-nav-item:first-child {
    border-top: 0;
  }
  .psh-site-header .psh-nav-item > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px clamp(20px, 5vw, 64px);
    font-size: 18px;
    color: #fff !important;
  }
  .psh-site-header .psh-nav-item .psh-caret {
    transition: transform 200ms ease;
  }
  .psh-site-header .psh-nav-item.is-open .psh-caret {
    transform: rotate(180deg);
  }

  /* Mega menus inline below their trigger in the drawer */
  .psh-site-header .psh-mm {
    position: static;
    width: 100%;
    transform: none;
    background: rgba(255, 255, 255, 0.04);
    box-shadow: none;
    padding: 0;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    display: none;
  }
  .psh-site-header .psh-nav-item.is-open > .psh-mm {
    display: block;
  }
  .psh-site-header .psh-mm__inner {
    display: block;
    padding: 8px clamp(20px, 5vw, 64px) 16px;
    max-width: none;
  }
  .psh-site-header .psh-mm__cols {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .psh-site-header .psh-mm__col-eyebrow {
    margin: 16px 0 8px;
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .psh-site-header .psh-mm__link {
    display: block;
    padding: 10px 0;
    color: #fff !important;
    font-size: 16px;
    font-weight: 400;
  }
  .psh-site-header .psh-mm__feature {
    display: none;
  }

  /* Utility row inside the drawer */
  .psh-site-header .psh-utility {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    padding: 16px clamp(20px, 5vw, 64px) 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    margin-top: 8px;
  }
  .psh-site-header .psh-utility .psh-contact {
    margin-left: auto;
  }
}

/* Below 640px: even more aggressive — make the brand smaller and
   ensure the toggle still has room. */
@media (max-width: 640px) {
  .psh-site-header .psh-brand-img {
    width: clamp(150px, 38vw, 220px);
  }
}

/* Footer responsive (preserve the legacy mobile collapse) */
@media (max-width: 840px) {
  .psh-footer-main,
  .psh-footer-menu {
    grid-template-columns: 1fr;
  }
  .psh-footer-legal {
    flex-direction: column;
  }
}

/* ============================================================
   Homepage WPBakery shortcoded sections
   All home rows are now built with WPBakery shortcodes so the
   legacy raw-HTML overrides (.psh-hero/.psh-card/etc.) are gone.
   ============================================================ */

.parabilis-wpbakery-home {
  --ink: #002c44;
  --blue: #0070c0;
  --ice: #9dc3e6;
  --pale: #d8e7f5;
  --muted: rgba(0, 44, 68, 0.68);
}

body.home .container.main-content,
body.home .container.main-content > .row,
body.home .parabilis-wpbakery-home {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.home .parabilis-wpbakery-home {
  overflow: hidden;
  /* Pull homepage content up under the global-section header so the
     hero bg fills from y=0 (no white strip above the wordmark). The
     header is a 120px transparent band that sits at top:0 inside the
     `nectar-global-section.after-nav` wrapper, occupying flow space.
     Pulling content -120 lets hero overlap that band fully — the
     header is transparent so the hero shows through.
     Pre-2026-05-08 this was -60px to compensate for the legacy
     floating-pill header at top:50; that's no longer the live header. */
  margin-top: -120px !important;
  background: #ffffff;
  color: var(--ink);
  font-family: "Roboto", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.45;
}

body.home .parabilis-wpbakery-home * {
  box-sizing: border-box;
}

/* Inner row content is constrained to the design container width on every row */
body.home .parabilis-wpbakery-home > .wpb_row > .row_col_wrap_12 {
  position: relative;
  z-index: 2;
  width: min(81.45vw, 1564px);
  max-width: calc(100vw - 48px);
  margin: 0 auto !important;
  padding: 0 !important;
}

/* WPBakery-shortcoded hero row */
body.home .parabilis-wpbakery-home .psh-row-hero {
  position: relative;
  min-height: min(1024px, 58vw);
  overflow: hidden;
}

/* No dark overlay — Figma exports the bg image already color-graded
   (temperature -0.71, highlights +0.51), so we let it show through.
   A subtle cool tint mirrors the Figma highlights filter without darkening. */
body.home .parabilis-wpbakery-home .psh-row-hero .row-bg-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 112, 192, 0.06) 0%, rgba(0, 112, 192, 0.0) 100%);
  pointer-events: none;
}

body.home .parabilis-wpbakery-home .psh-row-hero .row_col_wrap_12 {
  position: relative;
  z-index: 2;
}

body.home .parabilis-wpbakery-home .psh-hero-col > .vc_column-inner {
  padding: 0 !important;
}

body.home .parabilis-wpbakery-home .psh-hero-h1 {
  margin: 0 0 36px !important;
  max-width: 810px;
  font-family: "Poppins", "Roboto", Arial, sans-serif !important;
  font-size: clamp(40px, 3.45vw, 56px) !important;
  font-weight: 600 !important;
  letter-spacing: 0;
  line-height: 1.1 !important;
  color: #ffffff !important;
}

body.home .parabilis-wpbakery-home .psh-hero-sub {
  margin: 0 0 48px;
  max-width: 792px;
}

body.home .parabilis-wpbakery-home .psh-hero-sub p {
  margin: 0;
  color: #ffffff;
  font-family: "Roboto", Arial, sans-serif;
  font-size: clamp(20px, 2vw, 32px);
  font-weight: 400;
  line-height: 1.5;
}

/* Hero CTA — glass / frosted button with Salient native arrow icon */
body.home .parabilis-wpbakery-home .psh-hero-col .nectar-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 56px;
  min-width: 214px;
  padding: 10px 30px !important;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.34) 0%,
      rgba(255, 255, 255, 0.05) 55%,
      rgba(255, 255, 255, 0.34) 100%
    ),
    rgba(255, 255, 255, 0.20) !important;
  background-blend-mode: normal !important;
  border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

body.home .parabilis-wpbakery-home .psh-hero-col .nectar-button span {
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  color: #ffffff !important;
}

body.home .parabilis-wpbakery-home .psh-hero-col .nectar-button .icon-button-arrow,
body.home .parabilis-wpbakery-home .psh-hero-col .nectar-button i {
  display: inline-block;
  margin-left: 0;
  font-size: 16px;
  color: #ffffff;
  transition: transform 180ms ease, color 180ms ease;
}

body.home .parabilis-wpbakery-home .psh-hero-col .nectar-button:hover {
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.96) 0%,
      rgba(255, 255, 255, 0.88) 100%
    ) !important;
  border-color: rgba(255, 255, 255, 0.96) !important;
  color: #002c44 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

body.home .parabilis-wpbakery-home .psh-hero-col .nectar-button:hover span,
body.home .parabilis-wpbakery-home .psh-hero-col .nectar-button:hover i,
body.home .parabilis-wpbakery-home .psh-hero-col .nectar-button:hover .icon-button-arrow {
  color: #002c44 !important;
}

body.home .parabilis-wpbakery-home .psh-hero-col .nectar-button:hover i {
  transform: translateX(2px);
}

/* Shared section heading + body styles */
body.home .parabilis-wpbakery-home .vc_custom_heading.psh-growth-h2,
body.home .parabilis-wpbakery-home .vc_custom_heading.psh-advantage-h2,
body.home .parabilis-wpbakery-home .vc_custom_heading.psh-benefits-h2,
body.home .parabilis-wpbakery-home .vc_custom_heading.psh-insights-h2,
body.home .parabilis-wpbakery-home .vc_custom_heading.psh-work-h2,
body.home .parabilis-wpbakery-home .vc_custom_heading.psh-final-h2 {
  letter-spacing: -0.025em;
}

/* Shared eyebrow / kicker styling */
body.home .parabilis-wpbakery-home .psh-benefits-eyebrow,
body.home .parabilis-wpbakery-home .psh-insights-eyebrow,
body.home .parabilis-wpbakery-home .psh-work-kicker {
  display: block !important;
  margin-bottom: 28px !important;
}

/* ============= Row 2: Enabling Growth + Stats ============= */
body.home .parabilis-wpbakery-home .psh-row-growth {
  background: #ffffff;
}

body.home .parabilis-wpbakery-home .psh-growth-heading > .vc_column-inner,
body.home .parabilis-wpbakery-home .psh-growth-copy > .vc_column-inner {
  padding: 0 24px !important;
}

body.home .parabilis-wpbakery-home .psh-growth-h2 {
  margin: 0 !important;
}

body.home .parabilis-wpbakery-home .psh-growth-copy-text {
  margin-bottom: 36px;
}

body.home .parabilis-wpbakery-home .psh-growth-copy-text p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(18px, 1.5vw, 26px);
  line-height: 1.32;
}

body.home .parabilis-wpbakery-home .psh-stats-wrap {
  margin-top: 82px;
}

body.home .parabilis-wpbakery-home .psh-stats-wrap > .vc_column-inner {
  padding: 0 24px !important;
}

body.home .parabilis-wpbakery-home .psh-stats > .row_col_wrap_12_inner {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  width: 100% !important;
  float: none !important;
}

body.home .parabilis-wpbakery-home .psh-stat {
  width: 100% !important;
  flex: 0 0 auto !important;
  border-top: 1px solid var(--ink);
}

body.home .parabilis-wpbakery-home .psh-stat > .vc_column-inner {
  padding: 28px 0 0 !important;
}

body.home .parabilis-wpbakery-home .psh-stat-block .psh-stat-label {
  display: block;
  margin-bottom: 28px;
  font: 500 clamp(14px, 1.1vw, 18px)/1.2 "Poppins", "Roboto", Arial, sans-serif;
  color: var(--ink);
}

body.home .parabilis-wpbakery-home .psh-stat-block .psh-stat-number {
  display: block;
  font-family: "Roboto Serif", Georgia, serif;
  font-weight: 600;
  font-size: clamp(42px, 3.75vw, 72px);
  line-height: 1.05;
  letter-spacing: -0.04em;
  color: var(--ink);
}

body.home .parabilis-wpbakery-home .psh-stat-block .psh-stat-desc {
  display: block;
  margin-top: 12px;
  color: var(--muted);
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 1.4;
}

/* Mobile: the "Why Choose Parabilis" benefit cards are styled by an
   inline <style> in the home post and rendered as a 3-up grid with
   `grid-template-columns: repeat(3, 1fr) !important` and a 500px
   min-height. At narrow widths this produced 3 nearly-unreadable
   columns. Override with higher specificity + !important to drop to
   a single stacked column and let each card auto-grow. */
@media (max-width: 900px) {
  body.home .parabilis-wpbakery-home .psh-row-benefits .psh-bnf2-cards > .row_col_wrap_12_inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  body.home .parabilis-wpbakery-home .psh-row-benefits .psh-bnf2-card {
    min-height: 320px !important;
  }
  body.home .parabilis-wpbakery-home .psh-row-benefits .psh-bnf2-header > .row_col_wrap_12_inner {
    flex-direction: column !important;
    gap: 18px;
  }
  body.home .parabilis-wpbakery-home .psh-row-benefits .psh-bnf2-header-left,
  body.home .parabilis-wpbakery-home .psh-row-benefits .psh-bnf2-header-right {
    width: 100% !important;
  }
}

/* Mobile: the 3-up stat row uses display:flex (set by the home post's
   inline scoped <style>), with each .vc_col-sm-4 child set to flex:1.
   At narrow widths the big stat numbers overflow their 1/3 share and
   trigger a 2+1 wrap.  Force the flex container into a column at
   <=900px so the three stats stack vertically as a clean read column. */
@media (max-width: 900px) {
  body.home .parabilis-wpbakery-home .psh-row-growth .psh-stats-wrap .row_col_wrap_12_inner {
    flex-direction: column !important;
    gap: 28px !important;
    align-items: stretch !important;
  }
  body.home .parabilis-wpbakery-home .psh-row-growth .psh-stats-wrap .row_col_wrap_12_inner > .vc_col-sm-4 {
    width: 100% !important;
    flex: 0 0 auto !important;
  }
  body.home .parabilis-wpbakery-home .psh-stat-block .psh-stat-number {
    font-size: clamp(40px, 9vw, 56px);
  }
}

/* ============================================================
   Section vertical rhythm — pad every full-bleed home row so
   content has breathing room instead of running flush to the
   section boundary.

   Every [vc_row] in post 4 (home) was authored with
   `top_padding="0" bottom_padding="0"`, which WPBakery emits as
   inline `style="padding-top:0;padding-bottom:0"` — inline styles
   beat any non-!important CSS rule, so we use !important here.

   - growth declares its own pad inline (120/96) — left untouched.
   - advantage hosts an absolutely-positioned carousel anchored to
     the row's bottom edge, so we only add pad-top there.
   - work, benefits, insights, iia, final all need balanced top
     and bottom padding so the eyebrow / heading don't sit on the
     section boundary.
   The clamp() values (80→120) scale rhythm fluidly between mobile
   and the 1920 figma reference. ============================================================ */
body.home .parabilis-wpbakery-home .psh-row-work,
body.home .parabilis-wpbakery-home .psh-row-benefits,
body.home .parabilis-wpbakery-home .psh-row-insights,
body.home .parabilis-wpbakery-home .psh-row-iia,
body.home .parabilis-wpbakery-home .psh-row-final {
  padding-top: clamp(80px, 7vw, 120px) !important;
  padding-bottom: clamp(80px, 6vw, 120px) !important;
}
body.home .parabilis-wpbakery-home .psh-row-advantage {
  padding-top: clamp(80px, 7vw, 120px) !important;
}

/* ============= Row 3: How We Work ============= */
body.home .parabilis-wpbakery-home .psh-row-work {
  position: relative;
  min-height: min(900px, 60vw);
  color: #ffffff;
  overflow: hidden;
}

body.home .parabilis-wpbakery-home .psh-row-work .row-bg-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0, 44, 68, 0.54), rgba(0, 44, 68, 0.54));
  pointer-events: none;
}

body.home .parabilis-wpbakery-home .psh-work-top > .vc_column-inner,
body.home .parabilis-wpbakery-home .psh-work-content > .vc_column-inner {
  padding: 0 24px !important;
}

body.home .parabilis-wpbakery-home .psh-work-kicker {
  font: 500 clamp(14px, 1.1vw, 18px)/1.2 "Poppins", "Roboto", Arial, sans-serif !important;
  color: #ffffff !important;
}

body.home .parabilis-wpbakery-home .psh-work-tabs {
  margin: 0;
}

body.home .parabilis-wpbakery-home .psh-work-tabs p {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(30px, 4.4vw, 80px);
  margin: 0;
}

body.home .parabilis-wpbakery-home .psh-work-tab {
  color: rgba(255, 255, 255, 0.55);
  font-family: "Roboto Serif", Georgia, serif;
  font-size: clamp(18px, 1.45vw, 28px);
  font-weight: 500;
  cursor: default;
}

body.home .parabilis-wpbakery-home .psh-work-tab.is-active {
  color: #ffffff;
}

/* The heading used to sit at margin-top: 280px to push it down
   inside a flush-top row. Now that the row itself has ~96–120px
   top padding (see "Section vertical rhythm" above), reduce this
   to ~180 so total visual gap from row top to heading stays close
   to the figma reference (~276 px on a 1920 viewport). */
body.home .parabilis-wpbakery-home .psh-work-h2 {
  margin: 180px 0 24px !important;
  max-width: 720px;
  font-family: "Poppins", "Roboto", Arial, sans-serif !important;
  font-size: clamp(38px, 3vw, 56px) !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  line-height: 1.16 !important;
}

body.home .parabilis-wpbakery-home .psh-work-copy p {
  width: min(668px, 100%);
  margin: 0 0 36px;
  color: #ffffff;
  font-size: clamp(20px, 1.6vw, 30px);
  line-height: 1.2;
}

body.home .parabilis-wpbakery-home .psh-row-work .nectar-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 30px !important;
  background: transparent !important;
  border: 1.5px solid rgba(255, 255, 255, 0.92) !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: clamp(16px, 1.05vw, 20px) !important;
  font-weight: 500 !important;
}

body.home .parabilis-wpbakery-home .psh-row-work .nectar-button:hover {
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: rgba(255, 255, 255, 0.96) !important;
  color: #002c44 !important;
}

body.home .parabilis-wpbakery-home .psh-row-work .nectar-button:hover span {
  color: #002c44 !important;
}

/* ============= Row 4: Parabilis Advantage ============= */
body.home .parabilis-wpbakery-home .psh-row-advantage {
  background: #d8e7f5 !important;
}

body.home .parabilis-wpbakery-home .psh-row-advantage .row-bg-wrap .row-bg {
  background: #d8e7f5 !important;
}

/* Page-rhythm pass (migrations/home/page-rhythm-stage-6.md, 2026-05-12,
   verdict=MINOR) flagged the advantage→benefits seam: figma shows ~24–32px
   of breathing room between the carousel and the BENEFITS eyebrow, but
   stage-5 rendered them flush. The carousel inside this row is absolutely
   positioned at `top:835px; height:760px` (its bottom = 1595px), and the
   row's stage-4 inline CSS hard-pins height to 1595px so the carousel sits
   exactly at the row's bottom edge. Override the height ceiling here to
   add 30px of advantage's blue-gradient background below the carousel
   without disturbing the absolute layout (the carousel keeps its top:835
   anchor, so it now floats 30px above the row's new bottom). The blue
   bleed reads as one continuous gradient with the benefits row above. */
/* Used to pin row to exactly 1625px (height + min-height). With the new
   pad-top declared above ("Section vertical rhythm" block) we let the row
   grow naturally — the absolutely-positioned carousel keeps its top:835
   anchor and the row's intrinsic min-height (set inline in post 4) still
   acts as a floor. */
body.home .parabilis-wpbakery-home .psh-row-advantage {
  min-height: 1715px !important;
}

body.home .parabilis-wpbakery-home .psh-advantage-intro > .vc_column-inner,
body.home .parabilis-wpbakery-home .psh-advantage-steps-col > .vc_column-inner {
  padding: 0 24px !important;
}

body.home .parabilis-wpbakery-home .psh-advantage-h2 {
  margin: 0 0 28px !important;
  font-family: "Poppins", "Roboto", Arial, sans-serif !important;
  font-size: clamp(34px, 2.4vw, 46px) !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  line-height: 1.18 !important;
}

body.home .parabilis-wpbakery-home .psh-advantage-copy p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(18px, 1.45vw, 24px);
  line-height: 1.32;
}

body.home .parabilis-wpbakery-home .psh-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 36px;
}

body.home .parabilis-wpbakery-home .psh-steps li {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 24px;
  border-top: 1px solid rgba(0, 44, 68, 0.3);
  padding-top: 24px;
}

body.home .parabilis-wpbakery-home .psh-steps b {
  font-family: "Roboto Serif", Georgia, serif;
  font-size: 36px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1;
}

body.home .parabilis-wpbakery-home .psh-steps h3 {
  margin: 0 0 12px;
  font-family: "Poppins", "Roboto", Arial, sans-serif;
  font-size: clamp(22px, 1.7vw, 30px);
  font-weight: 500;
  color: var(--ink);
  line-height: 1.18;
}

body.home .parabilis-wpbakery-home .psh-steps p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 1.45;
}

/* ============= Row 5: Why Choose Parabilis (3 cards) ============= */
body.home .parabilis-wpbakery-home .psh-row-benefits {
  background: #ffffff;
}

body.home .parabilis-wpbakery-home .psh-benefits-eyebrow-col > .vc_column-inner,
body.home .parabilis-wpbakery-home .psh-benefits-heading > .vc_column-inner,
body.home .parabilis-wpbakery-home .psh-benefits-copy > .vc_column-inner,
body.home .parabilis-wpbakery-home .psh-cards-wrap > .vc_column-inner {
  padding: 0 24px !important;
}

body.home .parabilis-wpbakery-home .psh-benefits-eyebrow {
  font: 500 clamp(14px, 1.1vw, 18px)/1.2 "Poppins", "Roboto", Arial, sans-serif !important;
  color: var(--ink) !important;
}

body.home .parabilis-wpbakery-home .psh-benefits-h2 {
  margin: 0 !important;
  font-family: "Poppins", "Roboto", Arial, sans-serif !important;
  font-size: clamp(34px, 2.4vw, 46px) !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  line-height: 1.18 !important;
}

body.home .parabilis-wpbakery-home .psh-benefits-copy p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(18px, 1.45vw, 24px);
  line-height: 1.32;
}

body.home .parabilis-wpbakery-home .psh-cards-wrap {
  margin-top: 86px;
}

body.home .parabilis-wpbakery-home .psh-cards-wrap > .vc_column-inner > .wpb_wrapper > .vc_row-fluid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

body.home .parabilis-wpbakery-home .psh-cards-wrap > .vc_column-inner > .wpb_wrapper > .vc_row-fluid > .row-bg-wrap {
  display: none;
}

body.home .parabilis-wpbakery-home .psh-cards-wrap > .vc_column-inner > .wpb_wrapper > .vc_row-fluid > .row_col_wrap_12_inner {
  display: contents !important;
}

body.home .parabilis-wpbakery-home .psh-card {
  position: relative;
  width: 100% !important;
  flex: 0 0 auto !important;
  min-height: 500px;
}

body.home .parabilis-wpbakery-home .psh-card > .vc_column-inner {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 40px !important;
}

body.home .parabilis-wpbakery-home .psh-card > .vc_column-inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0, 44, 68, 0.56), rgba(0, 44, 68, 0.56));
  pointer-events: none;
  z-index: 1;
}

body.home .parabilis-wpbakery-home .psh-card > .vc_column-inner > .wpb_wrapper {
  position: relative;
  z-index: 2;
}

body.home .parabilis-wpbakery-home .psh-card-content p {
  margin: 0 0 14px;
}

body.home .parabilis-wpbakery-home .psh-card-content .psh-card-label {
  display: block;
  color: var(--ice);
  font-weight: 500;
  font-size: clamp(14px, 1vw, 16px);
}

body.home .parabilis-wpbakery-home .psh-card-content .psh-card-headline {
  margin: 14px 0 0;
  font-family: "Poppins", "Roboto", Arial, sans-serif;
  font-size: clamp(22px, 1.85vw, 36px);
  font-weight: 500;
  line-height: 1.16;
  color: #ffffff;
}

/* ============= Row 6: Featured Insights ============= */
body.home .parabilis-wpbakery-home .psh-row-insights {
  background: #ffffff;
}

body.home .parabilis-wpbakery-home .psh-row-insights > .row_col_wrap_12 {
  border-top: 1px solid rgba(0, 44, 68, 0.35);
  padding-top: 82px !important;
  align-items: end;
}

body.home .parabilis-wpbakery-home .psh-insights-text > .vc_column-inner,
body.home .parabilis-wpbakery-home .psh-insights-image > .vc_column-inner {
  padding: 0 24px !important;
}

body.home .parabilis-wpbakery-home .psh-insights-eyebrow {
  font: 500 clamp(14px, 1.1vw, 18px)/1.2 "Poppins", "Roboto", Arial, sans-serif !important;
  color: var(--ink) !important;
}

body.home .parabilis-wpbakery-home .psh-insights-h2 {
  margin: 0 0 28px !important;
  font-family: "Poppins", "Roboto", Arial, sans-serif !important;
  font-size: clamp(30px, 2.2vw, 42px) !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  line-height: 1.2 !important;
}

body.home .parabilis-wpbakery-home .psh-insights-copy p {
  margin: 0 0 36px;
  color: var(--muted);
  font-size: clamp(17px, 1.3vw, 22px);
  line-height: 1.4;
}

body.home .parabilis-wpbakery-home .psh-row-insights .nectar-button.regular-button {
  background: var(--blue) !important;
  border: 1px solid var(--blue) !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  min-height: 56px;
  padding: 0 30px !important;
}

body.home .parabilis-wpbakery-home .psh-insights-img,
body.home .parabilis-wpbakery-home .psh-insights-img .img-with-animation-wrap,
body.home .parabilis-wpbakery-home .psh-insights-img .hover-wrap-inner,
body.home .parabilis-wpbakery-home .psh-insights-img img {
  width: 100% !important;
  max-width: 100% !important;
  display: block;
}

body.home .parabilis-wpbakery-home .psh-insights-img img {
  height: min(700px, 43vw);
  object-fit: cover;
}

/* ============= Row 7: Final CTA ============= */
body.home .parabilis-wpbakery-home .psh-row-final {
  position: relative;
  min-height: 660px;
  color: #ffffff;
  overflow: hidden;
}

body.home .parabilis-wpbakery-home .psh-row-final .row-bg-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 112, 192, 0.18) 0%, rgba(0, 44, 68, 0.12) 100%);
  pointer-events: none;
}

body.home .parabilis-wpbakery-home .psh-final-col > .vc_column-inner {
  padding: 0 24px !important;
}

body.home .parabilis-wpbakery-home .psh-final-h2 {
  margin: 0 0 28px !important;
  font-family: "Poppins", "Roboto", Arial, sans-serif !important;
  font-size: clamp(38px, 3vw, 56px) !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  line-height: 1.18 !important;
}

body.home .parabilis-wpbakery-home .psh-final-copy p {
  margin: 0 0 44px;
  color: #ffffff;
  font-size: clamp(20px, 1.6vw, 30px);
  line-height: 1.2;
}

body.home .parabilis-wpbakery-home .psh-row-final .nectar-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  min-width: 214px;
  padding: 0 30px !important;
  background: transparent !important;
  border: 1.5px solid rgba(255, 255, 255, 0.92) !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: clamp(16px, 1.05vw, 20px) !important;
  font-weight: 500 !important;
}

body.home .parabilis-wpbakery-home .psh-row-final .nectar-button:hover {
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: rgba(255, 255, 255, 0.96) !important;
  color: #002c44 !important;
}

body.home .parabilis-wpbakery-home .psh-row-final .nectar-button:hover span {
  color: #002c44 !important;
}

@media (max-width: 900px) {
  body.home .parabilis-wpbakery-home .psh-row-hero {
    min-height: 640px;
  }

  body.home .parabilis-wpbakery-home .psh-hero-col {
    padding: 0 24px;
  }

  body.home .parabilis-wpbakery-home .psh-hero-h1 {
    max-width: none;
  }

  body.home .parabilis-wpbakery-home .psh-stats > .row_col_wrap_12_inner,
  body.home .parabilis-wpbakery-home .psh-cards-wrap > .vc_column-inner > .wpb_wrapper > .vc_row-fluid {
    grid-template-columns: 1fr;
  }

  body.home .parabilis-wpbakery-home .psh-row-work {
    min-height: 720px;
  }

  body.home .parabilis-wpbakery-home .psh-work-h2 {
    margin-top: 120px !important;
  }

  body.home .parabilis-wpbakery-home .psh-card {
    min-height: 420px;
  }

  body.home .parabilis-wpbakery-home .psh-row-insights > .row_col_wrap_12 {
    align-items: start;
  }

  body.home .parabilis-wpbakery-home .psh-insights-img img {
    height: auto;
  }
}
