
/* V53 true mobile product experience.
   Mobile is a dedicated product shell, not a scaled desktop website. */
.v53-product-mobile,.v53-bottom-nav{display:none}

@media (max-width:900px){
  html,body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    background:#0B0F14!important;
    color:#FFFFFF!important;
    -webkit-text-size-adjust:100%;
  }
  body{
    margin:0!important;
    padding:0 0 78px!important;
  }

  body.v53-mobile .v53-product-mobile,
  body.v53-mobile .v53-bottom-nav{display:block!important}

  /* Hide desktop-first and old injected homepage blocks only on mobile */
  body.v53-mobile .ss-v49-mobile-hero,
  body.v53-mobile .ss-v49-actions,
  body.v53-mobile .ss-v49-demo,
  body.v53-mobile .ss-v40-hero,
  body.v53-mobile .v43-quick-actions,
  body.v53-mobile .v43-demo,
  body.v53-mobile .scoreStickyCTA,
  body.v53-mobile .mobileStickyCTA,
  body.v53-mobile .floatingCta,
  body.v53-mobile .stickyCta,
  body.v53-mobile .hero.cmoHero{
    display:none!important;
  }

  body.v53-mobile header.top,
  body.v53-mobile .mobileTop{
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    padding:8px 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    background:#0F151D!important;
    border-bottom:1px solid #1D2530!important;
    box-shadow:none!important;
    position:sticky!important;
    top:0!important;
    z-index:1000!important;
  }
  body.v53-mobile .brand{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    max-width:calc(100vw - 74px)!important;
    min-width:0!important;
  }
  body.v53-mobile .brand img{
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
    object-fit:contain!important;
    flex:0 0 auto!important;
  }
  body.v53-mobile .brand h1{
    margin:0!important;
    font-size:19px!important;
    line-height:1!important;
    color:#fff!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.v53-mobile .brand p{
    margin:2px 0 0!important;
    font-size:7px!important;
    line-height:1!important;
    color:#00C896!important;
    letter-spacing:.4px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.v53-mobile .menuBtn,
  body.v53-mobile .topActions .ghost{
    height:34px!important;
    min-height:34px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    background:#151B23!important;
    border:1px solid #1D2530!important;
    color:#fff!important;
    font-size:11px!important;
    box-shadow:none!important;
  }

  .v53-product-mobile{
    max-width:430px!important;
    margin:0 auto!important;
    padding:10px!important;
  }

  .v53-mobile-hero-card{
    border-radius:22px!important;
    padding:12px!important;
    background:linear-gradient(145deg,#151B23 0%,#0B0F14 100%)!important;
    border:1px solid #1D2530!important;
    box-shadow:0 16px 34px rgba(0,0,0,.24)!important;
  }

  .v53-hero-copy{
    display:grid!important;
    gap:3px!important;
    margin-bottom:9px!important;
  }
  .v53-hero-copy em{
    font-style:normal!important;
    color:#00C896!important;
    font-size:10px!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    letter-spacing:.8px!important;
  }
  .v53-hero-copy h1{
    margin:0!important;
    font-size:25px!important;
    line-height:1.04!important;
    letter-spacing:-.7px!important;
    color:#FFFFFF!important;
  }
  .v53-hero-copy p{
    margin:0!important;
    font-size:12px!important;
    line-height:1.2!important;
    color:rgba(255,255,255,.66)!important;
  }

  /* Sacred hero visual: contained, never cover/zoom/crop */
  .v53-hero-visual{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border-radius:17px!important;
    overflow:hidden!important;
    background:#080D11!important;
    border:1px solid rgba(0,200,150,.18)!important;
  }
  .v53-hero-visual img{
    width:100%!important;
    height:auto!important;
    max-height:156px!important;
    display:block!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#080D11!important;
  }

  .v53-cta-row{
    display:grid!important;
    grid-template-columns:1.25fr .85fr .85fr!important;
    gap:8px!important;
    margin-top:10px!important;
  }
  .v53-cta-row a{
    min-height:48px!important;
    border-radius:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-decoration:none!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:900!important;
    text-align:center!important;
    padding:0 8px!important;
  }
  .v53-primary{
    background:linear-gradient(135deg,#FFE27A,#D7A73F)!important;
    color:#151006!important;
  }
  .v53-secondary{
    background:#151B23!important;
    border:1px solid #2A3340!important;
    color:#fff!important;
  }
  .v53-soft{
    background:rgba(0,200,150,.10)!important;
    border:1px solid rgba(0,200,150,.25)!important;
    color:#00C896!important;
  }

  .v53-action-grid{
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:8px!important;
    margin-top:12px!important;
  }
  .v53-action{
    height:74px!important;
    border-radius:18px!important;
    background:#151B23!important;
    border:1px solid #1D2530!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    text-decoration:none!important;
    color:#fff!important;
    box-shadow:none!important;
  }
  .v53-action i{
    font-style:normal!important;
    font-size:20px!important;
    line-height:1!important;
  }
  .v53-action b{
    font-size:10.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .v53-demo-list{
    margin-top:14px!important;
  }
  .v53-demo-list h2{
    font-size:16px!important;
    line-height:1.1!important;
    margin:0 0 8px!important;
    color:#fff!important;
  }
  .v53-demo-card{
    min-height:56px!important;
    padding:10px!important;
    margin:0 0 8px!important;
    border-radius:17px!important;
    background:#151B23!important;
    border:1px solid #1D2530!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    text-decoration:none!important;
    color:#fff!important;
  }
  .v53-demo-card i{
    width:33px!important;
    height:33px!important;
    border-radius:12px!important;
    display:grid!important;
    place-items:center!important;
    background:rgba(215,167,63,.13)!important;
    color:#FFE27A!important;
    font-style:normal!important;
    font-size:12px!important;
    font-weight:900!important;
    flex:0 0 auto!important;
  }
  .v53-demo-card b{
    display:block!important;
    font-size:13px!important;
    line-height:1.1!important;
  }
  .v53-demo-card small{
    display:block!important;
    margin-top:2px!important;
    font-size:11px!important;
    line-height:1.2!important;
    color:rgba(255,255,255,.60)!important;
  }

  .v53-bottom-nav{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    max-width:410px!important;
    margin:0 auto!important;
    height:58px!important;
    border-radius:20px!important;
    background:rgba(21,27,35,.97)!important;
    border:1px solid #1D2530!important;
    box-shadow:0 18px 42px rgba(0,0,0,.45)!important;
    z-index:99999!important;
    backdrop-filter:blur(16px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-around!important;
  }
  .v53-bottom-nav a{
    flex:1!important;
    height:52px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    text-decoration:none!important;
    color:rgba(255,255,255,.78)!important;
  }
  .v53-bottom-nav i{
    font-style:normal!important;
    font-size:18px!important;
    line-height:1!important;
  }
  .v53-bottom-nav small{
    font-size:9.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  /* compress lower preserved content so it is not a brochure on mobile */
  body.v53-mobile main,
  body.v53-mobile .page,
  body.v53-mobile #app{
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body.v53-mobile main > section,
  body.v53-mobile .page > section{
    margin-left:10px!important;
    margin-right:10px!important;
  }
  body.v53-mobile .card,
  body.v53-mobile .feature,
  body.v53-mobile .metric,
  body.v53-mobile .module,
  body.v53-mobile .riskCard,
  body.v53-mobile .simCard{
    padding:14px!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  body.v53-mobile .grid4,
  body.v53-mobile .grid3,
  body.v53-mobile .grid2,
  body.v53-mobile .moduleGrid,
  body.v53-mobile .formRow,
  body.v53-mobile .leadForm{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body.v53-mobile h1{font-size:27px!important;line-height:1.06!important}
  body.v53-mobile h2{font-size:21px!important;line-height:1.12!important}
  body.v53-mobile p{font-size:13px!important;line-height:1.42!important}
  body.v53-mobile input,
  body.v53-mobile select,
  body.v53-mobile textarea{
    width:100%!important;
    min-height:48px!important;
    font-size:16px!important;
  }
  body.v53-mobile button,
  body.v53-mobile .goldBtn,
  body.v53-mobile .darkBtn,
  body.v53-mobile .ghost{
    min-height:48px!important;
    border-radius:14px!important;
  }
  body.v53-mobile table{
    display:block!important;
    width:100%!important;
    overflow-x:auto!important;
  }
}

@media(max-width:380px){
  .v53-hero-copy h1{font-size:23px!important}
  .v53-hero-visual img{max-height:138px!important}
  .v53-cta-row{grid-template-columns:1fr!important}
  .v53-action-grid{gap:6px!important}
  .v53-action{height:68px!important;border-radius:15px!important}
  .v53-action b{font-size:9.8px!important}
}
