/* cachly mobile surface pass 0.8.5
 * Render-only responsive hardening for iPhone-class viewports.
 * No menu, page, form, theme-option or Complianz writes.
 */

html{
  max-width:100%;
  overflow-x:hidden;
}
body.wsb-public-surface{
  max-width:100%;
  overflow-x:clip;
}
body.wsb-public-surface img,
body.wsb-public-surface video,
body.wsb-public-surface iframe,
body.wsb-public-surface svg{
  max-width:100%;
}
body.wsb-public-surface img,
body.wsb-public-surface video{
  height:auto;
}
body.wsb-public-surface .wsb-page,
body.wsb-public-surface .wsb-page .vc_row,
body.wsb-public-surface .wsb-page .vc_row.vc_inner,
body.wsb-public-surface .wsb-page .wpb_column,
body.wsb-public-surface .wsb-page .vc_column-inner,
body.wsb-public-surface .wsb-page .wpb_wrapper{
  min-width:0;
}
body.wsb-public-surface .wsb-page h1,
body.wsb-public-surface .wsb-page h2,
body.wsb-public-surface .wsb-page h3,
body.wsb-public-surface .wsb-page p,
body.wsb-public-surface .wsb-page a,
body.wsb-public-surface .wsb-page li{
  overflow-wrap:anywhere;
}

/* iOS-safe sticky header and menu panel. */
.wsb-site-header__bar{
  padding-left:max(14px,env(safe-area-inset-left));
  padding-right:max(14px,env(safe-area-inset-right));
}
.wsb-site-header__mobile-panel{
  -webkit-overflow-scrolling:touch;
  max-height:calc(100vh - 120px);
  max-height:calc(100dvh - 120px - env(safe-area-inset-bottom));
  overscroll-behavior:contain;
  padding-bottom:max(10px,env(safe-area-inset-bottom));
}

@media(max-width:850px){
  body.wsb-public-surface .wsb-page{
    --wsb-section-space:72px;
    --wsb-radius:18px;
  }
  body.wsb-public-surface .wsb-section,
  body.wsb-public-surface .wsb-wpbakery-section{
    padding-left:max(20px,env(safe-area-inset-left))!important;
    padding-right:max(20px,env(safe-area-inset-right))!important;
  }
  body.wsb-public-surface .wsb-section-inner,
  body.wsb-public-surface .wsb-wpbakery-section .wsb-section-inner.vc_inner,
  body.wsb-public-surface .wsb-wpbakery-section .wsb-section-heading.wpb_text_column{
    max-width:100%!important;
    width:100%!important;
  }
  body.wsb-public-surface .wsb-wpbakery-section .wsb-native-split.vc_inner,
  body.wsb-public-surface .wsb-wpbakery-section .wsb-native-grid.vc_inner,
  body.wsb-public-surface .wsb-product-gallery-grid.vc_inner{
    margin-left:0!important;
    margin-right:0!important;
    width:100%!important;
  }
  body.wsb-public-surface .wsb-component-hero_split .wsb-copy h1{
    hyphens:auto;
    max-width:none!important;
    overflow-wrap:break-word!important;
  }
  body.wsb-public-surface .wsb-card,
  body.wsb-public-surface .wsb-product-proof-item,
  body.wsb-public-surface .wsb-product-gallery-item>.vc_column-inner>.wpb_wrapper{
    border-radius:18px!important;
  }
  body.wsb-public-surface .wsb-product-gallery-grid>.wpb_column,
  body.wsb-public-surface .wsb-native-grid>.wpb_column,
  body.wsb-public-surface .wsb-feature-grid>.wpb_column{
    float:none!important;
    margin-left:0!important;
    margin-right:0!important;
    width:100%!important;
  }
  body.wsb-public-surface .wsb-actions{
    max-width:100%;
  }
  body.wsb-public-surface .wsb-button,
  body.wsb-public-surface .wsb-button .wp-block-button__link{
    min-height:52px;
  }

  /* Process cards: preview.css applies a generic mobile padding shorthand.
   * Restore the dedicated badge zone so the absolute number can never cover
   * the heading on the home and workflow pages. */
  body.wsb-public-surface .wsb-step-card{
    box-sizing:border-box!important;
    padding:76px 20px 24px!important;
    position:relative!important;
  }
  body.wsb-public-surface .wsb-step-card .wsb-step-number{
    align-items:center!important;
    display:flex!important;
    height:38px!important;
    justify-content:center!important;
    left:20px!important;
    margin:0!important;
    position:absolute!important;
    top:22px!important;
    width:38px!important;
    z-index:2!important;
  }
  body.wsb-public-surface .wsb-step-card h3,
  body.wsb-public-surface .wsb-step-card .wpb_wrapper h3{
    margin:0 0 10px!important;
    padding:0!important;
    position:relative!important;
  }

  /* Demo and Support: reliable one-column composition on tablets/phones. */
  body.wsb-demo-layout-084 .wsb-demo-v2-hero-grid,
  body.wsb-demo-layout-084 .wsb-demo-v2-form-grid.vc_inner,
  body.wsb-support-layout-084 .wsb-support-hero-grid{
    display:block!important;
  }
  body.wsb-demo-layout-084 .wsb-demo-v2-hero-grid>.wpb_column,
  body.wsb-demo-layout-084 .wsb-demo-v2-form-grid>.wpb_column,
  body.wsb-support-layout-084 .wsb-support-hero-grid>.wpb_column{
    float:none!important;
    margin-left:0!important;
    margin-right:0!important;
    width:100%!important;
  }
  body.wsb-demo-layout-084 .wsb-demo-v2-panel-column,
  body.wsb-demo-layout-084 .wsb-demo-v2-form-card,
  body.wsb-support-layout-084 .wsb-support-hero .wsb-media{
    margin-top:34px!important;
  }
  body.wsb-demo-layout-084 .wsb-demo-v2-access-card{
    max-width:100%!important;
    transform:none!important;
    width:100%!important;
  }
  body.wsb-demo-layout-084 .wsb-demo-v2-note{
    margin-bottom:0!important;
    margin-top:24px!important;
  }
  body.wsb-demo-layout-084 .wsb-demo-v2-form-card>.vc_column-inner>.wpb_wrapper,
  body.wsb-support-layout-084 .wsb-form-section--support .wpforms-container,
  body.wsb-support-layout-084 .wsb-form-section--support .wpforms-container-full,
  body.wsb-support-layout-084 #wpforms-11552{
    box-sizing:border-box!important;
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:100%!important;
    width:100%!important;
  }
  body.wsb-support-layout-084 .wsb-form-section--support,
  body.wsb-support-layout-084 .wsb-form-section--support .wsb-form-heading{
    overflow:visible!important;
  }
  body.wsb-support-layout-084 .wsb-form-section--support .wsb-form-heading,
  body.wsb-demo-layout-084 .wsb-demo-v2-heading{
    margin-top:0!important;
    padding-top:0!important;
  }
  body.wsb-support-layout-084 .wsb-form-section--support .wsb-form-heading h2,
  body.wsb-demo-layout-084 .wsb-demo-v2-heading h2{
    margin-top:0!important;
    transform:none!important;
  }
}

@media(max-width:760px){
  body.wsb-public-surface .wsb-page{
    --wsb-section-space:62px;
  }
  body.wsb-public-surface .wsb-section,
  body.wsb-public-surface .wsb-wpbakery-section,
  body.wsb-public-surface .wsb-demo-v2-hero,
  body.wsb-public-surface .wsb-demo-v2-proof,
  body.wsb-public-surface .wsb-demo-v2-faq,
  body.wsb-public-surface .wsb-demo-v2-form-section,
  body.wsb-public-surface .wsb-form-section--support{
    padding-left:max(16px,env(safe-area-inset-left))!important;
    padding-right:max(16px,env(safe-area-inset-right))!important;
  }
  body.wsb-public-surface .wsb-page h1,
  body.wsb-public-surface .wsb-component-hero_split .wsb-copy h1,
  body.wsb-public-surface .wsb-demo-v2-copy h1,
  body.wsb-public-surface .wsb-support-hero h1{
    font-size:clamp(36px,10.8vw,50px)!important;
    letter-spacing:-.045em!important;
    line-height:1.02!important;
  }
  body.wsb-public-surface .wsb-page h2,
  body.wsb-public-surface .wsb-demo-v2-heading h2,
  body.wsb-public-surface .wsb-demo-v2-form-copy h2,
  body.wsb-public-surface .wsb-form-section--support .wsb-form-heading h2{
    font-size:clamp(30px,8.8vw,42px)!important;
    letter-spacing:-.04em!important;
    line-height:1.08!important;
  }
  body.wsb-public-surface .wsb-page p,
  body.wsb-public-surface .wsb-page .wsb-text{
    font-size:16px!important;
    line-height:1.65!important;
  }
  body.wsb-public-surface .wsb-section-heading{
    margin-bottom:28px!important;
  }
  body.wsb-public-surface .wsb-card,
  body.wsb-public-surface .wsb-demo-benefit-card,
  body.wsb-public-surface .wsb-demo-faq-card{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  body.wsb-public-surface .wsb-faq-item summary{
    font-size:16px;
    padding:18px 48px 18px 18px;
  }
  body.wsb-public-surface .wsb-faq-item summary:after{
    right:18px;
  }
  body.wsb-public-surface .wsb-faq-answer{
    padding:16px 18px 20px;
  }
  body.wsb-public-surface .wsb-actions{
    align-items:stretch;
    flex-direction:column;
  }
  body.wsb-public-surface .wsb-actions .wsb-button,
  body.wsb-public-surface .wsb-actions>a.wsb-button{
    width:100%!important;
  }
  body.wsb-public-surface .wsb-demo-v2-trust{
    align-items:stretch;
    flex-direction:column;
  }
  body.wsb-public-surface .wsb-demo-v2-trust span{
    justify-content:flex-start;
    width:100%;
  }
  body.wsb-public-surface #wpforms-11544 .wpforms-field,
  body.wsb-public-surface #wpforms-11552 .wpforms-field{
    padding-bottom:18px!important;
  }
  body.wsb-public-surface #wpforms-11544 input[type=text],
  body.wsb-public-surface #wpforms-11544 input[type=email],
  body.wsb-public-surface #wpforms-11544 input[type=url],
  body.wsb-public-surface #wpforms-11544 input[type=tel],
  body.wsb-public-surface #wpforms-11544 input[type=number],
  body.wsb-public-surface #wpforms-11544 select,
  body.wsb-public-surface #wpforms-11544 textarea,
  body.wsb-public-surface #wpforms-11552 input[type=text],
  body.wsb-public-surface #wpforms-11552 input[type=email],
  body.wsb-public-surface #wpforms-11552 input[type=url],
  body.wsb-public-surface #wpforms-11552 input[type=tel],
  body.wsb-public-surface #wpforms-11552 input[type=number],
  body.wsb-public-surface #wpforms-11552 select,
  body.wsb-public-surface #wpforms-11552 textarea{
    font-size:16px!important;
    min-height:52px!important;
    padding:12px 13px!important;
  }
  body.wsb-public-surface #wpforms-11544 textarea,
  body.wsb-public-surface #wpforms-11552 textarea{
    min-height:140px!important;
  }
}

@media(max-width:480px){
  .wsb-site-header__bar{
    gap:8px;
    min-height:70px;
    padding-left:max(12px,env(safe-area-inset-left));
    padding-right:max(12px,env(safe-area-inset-right));
  }
  .wsb-site-header__brand{
    gap:8px;
  }
  .wsb-site-header__mark{
    height:34px;
    width:34px;
  }
  .wsb-site-header__wordmark{
    font-size:23px;
  }
  .wsb-site-header__mobile-actions{
    gap:6px;
  }
  .wsb-site-cart--mobile,
  .wsb-site-header__mobile>summary{
    min-height:42px;
  }
  .wsb-site-header__mobile>summary{
    padding-left:12px;
    padding-right:12px;
  }
  .wsb-site-header__mobile-panel{
    border-radius:16px;
    right:calc(-1 * max(2px,env(safe-area-inset-right)));
    top:50px;
    width:calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right));
  }
  body.wsb-public-surface .wsb-page{
    --wsb-section-space:54px;
  }
  body.wsb-public-surface .wsb-page h1,
  body.wsb-public-surface .wsb-component-hero_split .wsb-copy h1,
  body.wsb-public-surface .wsb-demo-v2-copy h1,
  body.wsb-public-surface .wsb-support-hero h1{
    font-size:clamp(34px,10.5vw,43px)!important;
  }
  body.wsb-public-surface .wsb-page h2,
  body.wsb-public-surface .wsb-demo-v2-heading h2,
  body.wsb-public-surface .wsb-demo-v2-form-copy h2,
  body.wsb-public-surface .wsb-form-section--support .wsb-form-heading h2{
    font-size:clamp(28px,8.6vw,36px)!important;
  }
  body.wsb-public-surface .wsb-demo-v2-form-card>.vc_column-inner>.wpb_wrapper,
  body.wsb-public-surface .wsb-form-section--support .wpforms-container,
  body.wsb-public-surface .wsb-form-section--support .wpforms-container-full{
    border-radius:16px!important;
    padding:20px 14px!important;
  }
  body.wsb-public-surface .wsb-demo-benefit-card{
    padding-top:70px!important;
  }
  body.wsb-public-surface .wsb-public-footer__nav{
    grid-template-columns:1fr!important;
  }
  body.wsb-public-surface .wsb-public-footer__inner{
    padding-left:max(18px,env(safe-area-inset-left));
    padding-right:max(18px,env(safe-area-inset-right));
  }
}

@media(max-width:350px){
  .wsb-site-header__wordmark{
    font-size:21px;
  }
  .wsb-site-cart--mobile{
    padding-left:8px;
    padding-right:8px;
  }
  .wsb-site-header__mobile>summary{
    font-size:13px;
    padding-left:10px;
    padding-right:10px;
  }
}

/* Final mobile stacking safeguards, intentionally last in this asset. */
@media(max-width:850px){
  body.wsb-demo-layout-084 .wsb-demo-v2-card-grid,
  body.wsb-demo-layout-084 .wsb-demo-v2-faq-grid{
    display:grid!important;
    gap:16px!important;
    grid-template-columns:1fr!important;
  }
  body.wsb-demo-layout-084 .wsb-demo-v2-card-grid>.wpb_column,
  body.wsb-demo-layout-084 .wsb-demo-v2-faq-grid>.wpb_column{
    display:block!important;
    float:none!important;
    margin:0!important;
    width:100%!important;
  }
}
@media(max-width:620px){
  body.wsb-public-surface .wsb-public-footer__inner{
    grid-template-columns:1fr!important;
  }
  body.wsb-public-surface .wsb-public-footer__meta{
    align-items:flex-start!important;
    grid-column:auto!important;
    white-space:normal!important;
  }
}
