/* Mobile-only stability rules. Desktop layout and animations are deliberately untouched. */
@media (max-width:650px) {
  html, body { max-width:100%; overflow-x:clip; }
  body.home main, body.home .hero, body.home .hero > .wrap,
  body.home .hero-main, body.home .hero-copy, body.home .hero-image-shell,
  body.home .hero-image, body.home .actions {
    box-sizing:border-box; min-width:0; max-width:100%;
  }
  body.home .hero .hero-main {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    min-height:0;
    gap:22px;
  }
  body.home .hero .hero-main > * { width:100%; min-width:0; max-width:100%; grid-column:1; }
  body.home .hero .hero-copy { padding:15px 0 0; }
  body.home .hero h1 { max-width:100%; overflow-wrap:normal; font-size:clamp(32px,9vw,50px); }
  body.home .hero .hero-desc { max-width:100%; }
  body.home .hero .actions { display:flex; flex-wrap:wrap; align-items:flex-start; }
  body.home .hero .round-link { width:auto; max-width:100%; box-sizing:border-box; white-space:normal; overflow-wrap:anywhere; }
  body.home .hero .hero-image-shell { display:block; position:relative; justify-self:stretch; width:100% !important; height:auto !important; aspect-ratio:2655/2124; margin:0; }
  body.home .hero .hero-image { inset:0; width:100%; max-width:100%; }
  body.home .hero .hero-image img, body.home .hero .hero-image video { max-width:100%; }
  .cb8-journey-track > .cb8-journey-line > .cb8-journey-fill { transform:none !important; transform-origin:top center; }
  .cb8-journey-track > .cb8-journey-line > .cb8-journey-light { transform:translate(-50%,-50%); }
}
