/* v25.109: restore a comfortable wide-screen landing layout and anchor the footer. */
body{
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
}

main{flex:1 0 auto}
.topbar,.footer{flex:0 0 auto}
.footer{margin-top:auto}

@media (min-width:801px){
  .shell{width:min(1440px,calc(100% - 3rem))}
  .landing-hero{
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.55fr);
    gap:clamp(2rem,5vw,5rem);
    padding-block:clamp(2rem,4.5vh,3.25rem) clamp(1.25rem,2.5vh,2rem);
  }
  .landing-hero__copy{max-width:820px}
  .landing-hero h1{
    max-width:820px;
    margin:.3rem 0 .7rem;
    font-size:clamp(3.2rem,4.5vw,5.25rem);
    line-height:.98;
  }
  .landing-hero p{max-width:700px;font-size:1.02rem;line-height:1.55}
  .landing-hero__signal{padding:1.25rem 1.35rem;border-radius:20px}
  .landing-hero__signal strong{font-size:1.5rem}
  .landing-hero__signal span:last-child{font-size:.82rem;line-height:1.5}
  .products{padding-block:1rem clamp(2.25rem,4vh,3.5rem)}
  .section-heading{margin-bottom:1.25rem}
  .section-heading h2{font-size:clamp(2rem,2.8vw,2.75rem)}
  .section-heading p{max-width:500px;font-size:.9rem;line-height:1.5}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
  .product-card{min-height:168px;padding:1rem 1.1rem;border-radius:16px}
  .product-icon{width:38px;height:38px}
  .product-icon svg{width:20px;height:20px}
  .product-card h3{margin:.75rem 0 .3rem;font-size:1.05rem}
  .product-card p{font-size:.8rem;line-height:1.45}
  .status{font-size:.68rem}
  .card-action{font-size:.78rem}
  .footer__inner{padding-block:1.45rem 1.2rem;gap:1.5rem}
  .footer__group a{margin-top:.28rem;font-size:.76rem}
  .footer__brand small,.footer p{font-size:.7rem}
  .footer__bottom{padding-block:.6rem;font-size:.68rem}
}

@media (min-width:1600px){
  .shell{width:min(1480px,calc(100% - 5rem))}
  .product-card{min-height:176px;padding:1.1rem 1.2rem}
  .product-card h3{font-size:1.12rem}
  .product-card p{font-size:.84rem}
}
