/**
 * Site-wide fluid layout — overrides Framer fixed canvas widths (390 / 810 / 1200 / 1440)
 * so pages fill the real viewport on phone, tablet, and desktop.
 */
html {
  overflow-x: clip;
  max-width: 100%;
}
body,
#main {
  overflow-x: clip;
  max-width: 100%;
  width: 100%;
}

/* Framer page roots / templates — always fluid */
[data-framer-root],
[data-layout-template="true"],
#main > div[data-layout-template],
.framer-Nl49I,
.framer-go6c4,
.framer-z9Qai,
div[class*="framer-"][style*="min-height:100vh"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Common Framer breakpoint canvas locks */
.framer-Nl49I.framer-r58616,
.framer-Nl49I.framer-193w0ut,
.framer-Nl49I.framer-iq4b25,
.framer-Nl49I.framer-1nv7jff,
.framer-go6c4.framer-12o78hd,
.framer-go6c4.framer-1lvtgwc,
.framer-go6c4.framer-v6dvpb,
.framer-go6c4.framer-2f2zwz {
  width: 100% !important;
  max-width: 100% !important;
}

main[data-framer-name="Main"],
main.framer-28zs0x,
main.framer-18uzs0n,
#main main {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Images / media never blow out the viewport */
img,
video,
svg,
canvas,
iframe {
  max-width: 100%;
  height: auto;
}

/* Navbar shell — full width; kill Framer center translate (left:50% + translateX(-50%))
   which otherwise slides the bar half off-screen once width is forced to 100% */
.framer-1jgch0k-container {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
  translate: none !important;
  will-change: auto !important;
  box-sizing: border-box !important;
  z-index: 10000 !important;
  padding: 12px 0 10px !important;
  /* Opaque mask so page content can't show through above/around the floating pill */
  background-color: #fff !important;
  pointer-events: none;
}
.framer-1jgch0k-container::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 28px;
  background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  z-index: 0;
}
.framer-1jgch0k-container > * {
  pointer-events: auto;
  position: relative;
  z-index: 1;
}
.framer-TdD52,
.framer-1qbwjcs {
  width: 100% !important;
  max-width: calc(var(--page-max, 1200px) + (var(--page-pad, 64px) * 2)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

/* ===== Tablet (810–1199) ===== */
@media (min-width: 810px) and (max-width: 1199.98px) {
  :root {
    --page-pad: 40px;
  }

  .framer-TdD52 .framer-yz90kq {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .framer-1emq8zi .framer-1kiw1gj {
    width: min(260px, 42vw) !important;
    height: 48px !important;
  }
}

/* ===== Phone / small tablet ===== */
@media (max-width: 809.98px) {
  :root {
    --page-pad: 20px;
    --nav-inner: 0px;
  }

  /* Kill leftover horizontal scroll from absolute / fixed Framer art */
  body,
  #main,
  [data-framer-root],
  main {
    overflow-x: clip !important;
  }

  /* Header bar */
  .framer-1jgch0k-container {
    padding: 10px 0 8px !important;
  }

  .framer-TdD52,
  .framer-1qbwjcs {
    padding-left: var(--page-pad) !important;
    padding-right: var(--page-pad) !important;
    max-width: 100% !important;
  }

  .framer-TdD52 .framer-yz90kq {
    max-width: 100% !important;
    width: 100% !important;
    min-height: 72px !important;
    padding: 12px 14px !important;
    border-radius: 20px !important;
  }

  .framer-1emq8zi .framer-1kiw1gj {
    width: min(200px, 58vw) !important;
    height: 40px !important;
  }

  /* Mobile menu panel */
  .sch-mobile-nav__panel {
    left: 12px;
    right: 12px;
    top: 12px;
    max-width: none;
    max-height: calc(100dvh - 24px);
  }

  /* Sections / heroes — consistent gutters */
  #hero,
  section,
  [data-framer-name="Hero"],
  [data-framer-name="Stats"],
  [data-framer-name="Solutions"],
  [data-framer-name="Process"],
  [data-framer-name="FAQ"],
  .framer-1gfwamo,
  .framer-17u66ri,
  .framer-if9xj1,
  .framer-rdrk4n,
  .framer-7wroke,
  .framer-9v0dpf {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: var(--page-pad) !important;
    padding-right: var(--page-pad) !important;
    box-sizing: border-box !important;
  }

  /* Content wrappers fill available width */
  [data-framer-name="Content Wrapper"],
  [data-framer-name="Container"],
  [data-framer-name="Content"],
  .framer-1v3ntjb,
  .framer-3ptt0d,
  .framer-5zkvnk,
  .framer-sjp47q,
  .framer-1o3xwep,
  .framer-1846uo5,
  .framer-o0kpi5,
  .framer-1n2z8io {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Desktop % columns → full width on phone */
  .framer-o2m027,
  .framer-fuycop,
  .framer-25oxl8,
  .framer-rhnsje,
  #hero .framer-rhnsje,
  #hero .framer-fuycop,
  #hero .framer-o2m027 {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Stack CTA buttons */
  #hero .framer-fuycop,
  .framer-fuycop {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  /* Absolute desktop art that overflows on small screens */
  .framer-s30cc7,
  .framer-j3pt5o-container,
  .framer-1pkwnaz-container {
    display: none !important;
  }

  /* Forms / inputs */
  input,
  textarea,
  select,
  button {
    max-width: 100%;
  }

  /* Footer contact block */
  .sch-footer-contact__body {
    max-width: 100%;
  }

  /* Footer: override Framer fixed phone/tablet canvas widths */
  .framer-fbxftr-container,
  .framer-zvdBa,
  .framer-zvdBa.framer-x7so8i {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Extra-small phones */
@media (max-width: 379.98px) {
  :root {
    --page-pad: 12px;
  }

  .framer-1emq8zi .framer-1kiw1gj {
    width: min(168px, 55vw) !important;
    height: 36px !important;
  }

  .framer-TdD52 .framer-yz90kq {
    min-height: 64px !important;
    padding: 10px 12px !important;
  }
}

/* ===== Service pages (Search / Display / Lead / Shopping) — section & div spacing =====
   Root: .framer-T6o2c — Framer left Who We Help with no top padding; Process sat flush. */
.framer-T6o2c [data-framer-name="Hero"],
.framer-T6o2c .framer-o79o7i {
  padding: 180px 40px 80px !important;
  gap: 48px !important;
  box-sizing: border-box !important;
}

.framer-T6o2c [data-framer-name="Solutions"],
.framer-T6o2c .framer-16hjlwc {
  padding: 100px 40px 60px !important;
  box-sizing: border-box !important;
}

.framer-T6o2c [data-framer-name="Who We Help"],
.framer-T6o2c .framer-nmgkny {
  padding: 80px 40px 40px !important;
  box-sizing: border-box !important;
}

.framer-T6o2c [data-framer-name="Contact"],
.framer-T6o2c .framer-536uw1 {
  padding: 56px 40px 80px !important;
  box-sizing: border-box !important;
}

/* Inner content stacks */
.framer-T6o2c [data-framer-name="Solutions"] > [data-framer-name="Content Wrapper"],
.framer-T6o2c .framer-ypcfn9 {
  gap: 48px !important;
}

.framer-T6o2c [data-framer-name="Paragraph"],
.framer-T6o2c .framer-1uvo60y {
  gap: 32px !important;
}

.framer-T6o2c [data-framer-name="Benefits"],
.framer-T6o2c .framer-1g8sgd6 {
  gap: 24px !important;
  padding-top: 40px !important;
  box-sizing: border-box !important;
}

.framer-T6o2c [data-framer-name="Who We Help"] > [data-framer-name="Content Wrapper"],
.framer-T6o2c .framer-6s47xx {
  gap: 48px !important;
}

.framer-T6o2c [data-framer-name="Team"],
.framer-T6o2c .framer-tcal5f {
  gap: 24px !important;
}

/* Process block — breathing room above timeline */
.framer-T6o2c [data-framer-name="Who We Help"] [data-framer-name="Container"],
.framer-T6o2c .framer-awc3mv {
  padding-top: 24px !important;
  padding-bottom: 0 !important;
  gap: 48px !important;
  box-sizing: border-box !important;
}

.framer-T6o2c [data-framer-name="Who We Help"] [data-framer-name="Content"],
.framer-T6o2c .framer-1mzz4mv {
  gap: 48px !important;
}

.framer-T6o2c [data-framer-name="Contact"] > [data-framer-name="Content Wrapper"],
.framer-T6o2c .framer-xymxdh {
  gap: 40px !important;
}

@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-T6o2c [data-framer-name="Hero"],
  .framer-T6o2c .framer-o79o7i {
    padding: 140px 32px 64px !important;
  }

  .framer-T6o2c [data-framer-name="Solutions"],
  .framer-T6o2c .framer-16hjlwc {
    padding: 80px 32px 48px !important;
  }

  .framer-T6o2c [data-framer-name="Contact"],
  .framer-T6o2c .framer-536uw1 {
    padding: 48px 32px 64px !important;
  }

  .framer-T6o2c [data-framer-name="Who We Help"],
  .framer-T6o2c .framer-nmgkny {
    padding: 64px 32px 32px !important;
  }

  .framer-T6o2c [data-framer-name="Who We Help"] > [data-framer-name="Content Wrapper"],
  .framer-T6o2c .framer-6s47xx {
    gap: 40px !important;
  }

  .framer-T6o2c [data-framer-name="Who We Help"] [data-framer-name="Container"],
  .framer-T6o2c .framer-awc3mv {
    padding-top: 20px !important;
    gap: 40px !important;
  }

  .framer-T6o2c [data-framer-name="Benefits"],
  .framer-T6o2c .framer-1g8sgd6 {
    gap: 20px !important;
    padding-top: 32px !important;
  }
}

@media (max-width: 809.98px) {
  .framer-T6o2c [data-framer-name="Hero"],
  .framer-T6o2c .framer-o79o7i {
    padding: 120px var(--page-pad, 20px) 56px !important;
    gap: 32px !important;
  }

  .framer-T6o2c [data-framer-name="Solutions"],
  .framer-T6o2c .framer-16hjlwc {
    padding: 64px var(--page-pad, 20px) 40px !important;
  }

  .framer-T6o2c [data-framer-name="Contact"],
  .framer-T6o2c .framer-536uw1 {
    padding: 40px var(--page-pad, 20px) 56px !important;
  }

  .framer-T6o2c [data-framer-name="Who We Help"],
  .framer-T6o2c .framer-nmgkny {
    padding: 48px var(--page-pad, 20px) 24px !important;
  }

  .framer-T6o2c [data-framer-name="Solutions"] > [data-framer-name="Content Wrapper"],
  .framer-T6o2c .framer-ypcfn9,
  .framer-T6o2c [data-framer-name="Who We Help"] > [data-framer-name="Content Wrapper"],
  .framer-T6o2c .framer-6s47xx {
    gap: 40px !important;
  }

  .framer-T6o2c [data-framer-name="Paragraph"],
  .framer-T6o2c .framer-1uvo60y {
    gap: 24px !important;
  }

  .framer-T6o2c [data-framer-name="Benefits"],
  .framer-T6o2c .framer-1g8sgd6 {
    gap: 16px !important;
    padding-top: 24px !important;
  }

  .framer-T6o2c [data-framer-name="Who We Help"] [data-framer-name="Container"],
  .framer-T6o2c .framer-awc3mv {
    padding-top: 24px !important;
    gap: 40px !important;
  }

  .framer-T6o2c [data-framer-name="Who We Help"] [data-framer-name="Content"],
  .framer-T6o2c .framer-1mzz4mv {
    gap: 32px !important;
    flex-direction: column !important;
  }

  .framer-T6o2c [data-framer-name="Contact"] > [data-framer-name="Content Wrapper"],
  .framer-T6o2c .framer-xymxdh {
    gap: 28px !important;
  }
}
