/* v39.19 — mobile horizontal overflow + hero dashboard centering */
html,body{
  max-width:100%;
  overflow-x:hidden;
}
*,*::before,*::after{box-sizing:border-box}

@media (max-width:680px){
  /* Keep the full hero inside the visual viewport on narrow phones. */
  .hero .container{
    width:calc(100% - 32px) !important;
    max-width:100% !important;
    margin-inline:auto !important;
  }
  .hero-grid{
    width:100% !important;
    min-width:0 !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:38px !important;
  }
  .hero-grid > *{min-width:0 !important;max-width:100% !important}

  .hero h1{
    max-width:100% !important;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  /* Trust claims used to be forced onto one unbroken line by v39.13. */
  .hero-trust{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    align-items:center !important;
    gap:12px 10px !important;
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
  }
  .hero-trust span{
    min-width:0 !important;
    width:100% !important;
    justify-content:flex-start !important;
    font-size:11px !important;
    line-height:1.3 !important;
  }
  .hero-trust span+span::before{display:none !important;content:none !important}
  .hero-trust span:last-child{
    grid-column:1 / -1;
    justify-content:center !important;
  }

  /* Financial Health card: exact viewport-safe width and true centering. */
  .hero-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-inline:auto !important;
    padding:20px !important;
    overflow:hidden !important;
  }
  .dashboard-head{
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    justify-content:space-between !important;
    gap:10px !important;
  }
  .dashboard-head > *{min-width:0 !important}
  .dashboard-head b{font-size:15px !important}
  .dashboard-head .status{
    flex:0 1 auto !important;
    max-width:55% !important;
    text-align:center !important;
    white-space:normal !important;
  }
  .health-ring{
    width:138px !important;
    height:138px !important;
    margin:24px auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }
  .metric-list{
    width:100% !important;
    min-width:0 !important;
  }
  .metric{
    width:100% !important;
    min-width:0 !important;
    gap:10px !important;
  }
  .metric span{min-width:0 !important;overflow-wrap:anywhere}
  .metric b{flex:0 0 auto !important}
}

@media (max-width:430px){
  .hero h1{font-size:40px !important;line-height:1.04 !important}
  .hero .container{width:calc(100% - 28px) !important}
  .hero-card{padding:18px !important}
  .dashboard-head b{font-size:14px !important}
  .dashboard-head .status{font-size:10px !important}
}

@media (max-width:370px){
  .hero h1{font-size:36px !important}
  .hero-trust{grid-template-columns:1fr !important}
  .hero-trust span:last-child{grid-column:auto;justify-content:flex-start !important}
}
