/* Final mobile readability pass */
html,body{max-width:100%;overflow-x:hidden!important}
main h1,main h2,main h3,main h4,main p,main li,main a,main button,main label,main summary,nav a,nav button{word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;line-break:strict!important}
@media(max-width:767px){nav.fixed.top-0>div:nth-child(2){display:none!important}nav.fixed.top-0{width:100%!important;max-width:100vw!important;overflow:hidden!important}nav.fixed.top-0>.container{width:100%!important;max-width:none!important;padding:0 12px!important}nav.fixed.top-0>.container>div{width:100%!important;min-width:0!important;min-height:58px!important;gap:7px!important;padding:6px 0!important;display:flex!important;align-items:center!important}nav.fixed.top-0>.container>div>a{min-width:0!important;flex:1 1 auto!important;overflow:visible!important}nav.fixed.top-0>.container>div>a>div:first-child{display:none!important}nav.fixed.top-0>.container>div>a>div:nth-child(2){display:block!important;width:auto!important}nav.fixed.top-0>.container>div>a>div:nth-child(2) span:first-child{display:block!important;max-width:none!important;overflow:visible!important;font-size:clamp(12px,3.45vw,15px)!important;line-height:1.25!important;white-space:nowrap!important;letter-spacing:0!important}nav.fixed.top-0>.container>div>a>div:nth-child(2) span:last-child{display:block!important;margin-top:2px!important;font-size:clamp(8px,2.3vw,10px)!important;line-height:1.15!important;white-space:nowrap!important;letter-spacing:0!important}nav.fixed.top-0 .btn-cta{flex:0 0 auto!important;min-height:40px!important;max-width:112px!important;padding:7px 10px!important;font-size:clamp(10px,2.8vw,12px)!important;line-height:1.25!important;white-space:nowrap!important}nav.fixed.top-0 button{flex:0 0 42px!important;width:42px!important;min-width:42px!important;height:42px!important;padding:8px!important}main{padding-top:58px!important;padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}.container,.max-w-7xl{width:100%!important;max-width:100%!important;padding-right:16px!important;padding-left:16px!important}main>section{max-width:100%!important;overflow:hidden!important}main h1{max-width:100%!important;font-size:clamp(1.35rem,6.3vw,1.95rem)!important;line-height:1.45!important;letter-spacing:0!important}main h2{max-width:100%!important;font-size:clamp(1.28rem,5.7vw,1.8rem)!important;line-height:1.5!important;letter-spacing:0!important}main h3{max-width:100%!important;font-size:clamp(1rem,4.5vw,1.25rem)!important;line-height:1.55!important;letter-spacing:0!important}main p,main li{font-size:clamp(.88rem,3.7vw,1rem)!important;line-height:1.8!important}.ks-photo-hero .ks-hero-copy h1{white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important;font-size:clamp(1.05rem,4.7vw,1.3rem)!important;line-height:1.55!important;text-align:center!important}.ks-photo-hero .ks-hero-copy .ks-hero-secondary{max-width:100%!important;white-space:normal!important;word-break:keep-all!important;font-size:clamp(1rem,4.7vw,1.2rem)!important;line-height:1.75!important}.p100-choice h3,.p100-choice a,.p100-contract__grid h3,.p100-consult__steps h3{white-space:normal!important;word-break:keep-all!important;font-size:clamp(.9rem,4vw,1.08rem)!important}.p100-proof strong{font-size:clamp(1rem,5vw,1.25rem)!important}.p100-proof small{font-size:clamp(.62rem,2.7vw,.72rem)!important;word-break:keep-all!important}.p100-sticky{left:10px!important;right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;padding:7px!important;border-radius:16px!important}.p100-sticky a{min-width:0!important;padding:11px 7px!important;font-size:clamp(.78rem,3.5vw,.9rem)!important;white-space:nowrap!important}img,video,iframe,svg{max-width:100%}}
@media(max-width:359px){nav.fixed.top-0>.container{padding-right:9px!important;padding-left:9px!important}nav.fixed.top-0>.container>div{gap:5px!important}nav.fixed.top-0>.container>div>a>div:nth-child(2) span:first-child{font-size:11.5px!important}nav.fixed.top-0 .btn-cta{max-width:98px!important;padding-right:7px!important;padding-left:7px!important;font-size:9.5px!important}nav.fixed.top-0 button{flex-basis:38px!important;width:38px!important;min-width:38px!important;height:38px!important}.container,.max-w-7xl{padding-right:13px!important;padding-left:13px!important}.p100-sticky{left:7px!important;right:7px!important}.p100-sticky a{font-size:11px!important}}

/* =========================================================
   FINAL DECISION / COMPARISON OVERFLOW GUARD
   This layer is intentionally loaded after pro-design and before the
   remaining responsive CSS. It fixes the high-intent comparison banner
   without changing its content or destination.
   ========================================================= */
.ks-comparison-intro,
.ks-comparison-intro *,
.ks-direct-contract,
#direct-contract,
.ks-direct-contract *,
#ks-direct-contract-proof-v7,
#ks-direct-contract-proof-v7 *,
.p100-contract,
.p100-contract *,
.p100-choice,
.p100-choice *,
.p100-consult,
.p100-consult * {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.ks-comparison-intro {
  width: 100% !important;
  max-width: 1000px !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: minmax(170px, 0.34fr) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 1.35rem !important;
}

.ks-comparison-intro-badge {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-break: strict !important;
  text-wrap: balance !important;
  box-sizing: border-box !important;
}

.ks-comparison-intro-badge *,
.ks-comparison-intro p,
.ks-comparison-intro strong,
.ks-comparison-intro a,
.ks-comparison-intro span {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-break: strict !important;
  hyphens: none !important;
  text-wrap: pretty !important;
  box-sizing: border-box !important;
}

.ks-comparison-intro p {
  overflow: hidden !important;
  margin: 0 !important;
}

.ks-comparison-intro-badge {
  font-size: clamp(.78rem, 1.7vw, 1rem) !important;
  line-height: 1.35 !important;
  letter-spacing: .08em !important;
}

.ks-direct-contract-layout {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
}

.ks-direct-contract-lead,
.ks-direct-contract-lead--center,
.ks-direct-contract-note,
.ks-value-list,
.ks-value-list--three,
.ks-value-item,
.ks-value-item *,
.ks-growth-heading,
.ks-growth-heading * {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.ks-value-item h3,
.ks-value-item p,
.ks-direct-contract h2,
.ks-direct-contract h3,
.ks-direct-contract p,
.ks-direct-contract a,
.ks-growth-heading h2,
.ks-growth-heading p {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-break: strict !important;
  hyphens: none !important;
  text-wrap: pretty !important;
}

@media (min-width: 601px) and (max-width: 1024px) {
  .ks-comparison-intro {
    grid-template-columns: minmax(150px, .34fr) minmax(0, 1fr) !important;
    gap: 1rem !important;
    padding: 1.15rem 1rem !important;
  }

  .ks-comparison-intro-badge {
    min-width: 0 !important;
    padding: .7rem .6rem !important;
    font-size: clamp(.72rem, 1.55vw, .92rem) !important;
    line-height: 1.35 !important;
    letter-spacing: .06em !important;
  }

  .ks-comparison-intro p {
    font-size: clamp(.78rem, 1.65vw, .95rem) !important;
    line-height: 1.75 !important;
  }

  .ks-direct-contract-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2rem !important;
  }
}

@media (max-width: 600px) {
  .ks-comparison-intro {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .8rem !important;
    width: calc(100% - 0px) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 1rem !important;
    overflow: hidden !important;
  }

  .ks-comparison-intro-badge {
    width: 100% !important;
    min-width: 0 !important;
    padding: .7rem .75rem !important;
    font-size: .82rem !important;
    line-height: 1.4 !important;
    letter-spacing: .08em !important;
    text-align: center !important;
  }

  .ks-comparison-intro p {
    width: 100% !important;
    min-width: 0 !important;
    font-size: .88rem !important;
    line-height: 1.75 !important;
    text-align: left !important;
  }

  .ks-comparison-intro p a,
  .ks-comparison-intro p strong,
  .ks-comparison-intro p span {
    white-space: normal !important;
  }

  /* Prevent the two adjacent hero CTAs from creating a stray single character. */
  main > section:first-child a[href="#contact"] {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
  }

  main > section:first-child > div > div:last-child > div:last-child {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .7rem !important;
  }

  .ks-direct-contract-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.5rem !important;
  }
}
