/* Footer */
  /* Sticky-reveal: the footer pins to the bottom of the viewport once the
     page has scrolled one viewport-height, then the page content continues
     scrolling up and over it — a fixed-looking footer that reveals itself
     as the visitor finishes scrolling through the page. */
  footer{background:#0F1638; color:rgba(255,255,255,0.7); padding:64px 0 24px; font-size:14px; position:sticky; top:100vh; z-index:5;}
  .foot-grid{display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:32px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,0.1);}
  .foot-grid h5{font-family:'JetBrains Mono'; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,0.45); margin-bottom:16px;}
  .foot-grid ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
  .foot-grid a:hover{color:#fff;}

  /* Company group logos */
  .foot-companies{
    padding:32px 0; border-bottom:1px solid rgba(255,255,255,0.1);
    display:flex; flex-direction:column; align-items:center; gap:18px;
  }
  .foot-companies-logos{
    display:flex; align-items:center; justify-content:center; gap:26px; flex-wrap:wrap;
  }
  .company-logo{
    height:34px; width:auto; max-width:170px; object-fit:contain;
    opacity:.92; transition:opacity .25s ease, transform .25s ease;
  }
  .company-logo:hover{opacity:1; transform:translateY(-2px);}
  .foot-companies-divider{
    width:1px; height:32px; background:rgba(255,255,255,0.18); flex-shrink:0;
  }
  .foot-companies-copyright{
    margin:0; font-size:12.5px; color:rgba(255,255,255,0.45); text-align:center;
  }

  .foot-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:12.5px; color:rgba(255,255,255,0.4); flex-wrap:wrap; gap:12px;}

  @media (max-width:576px){
    .foot-companies-logos{gap:18px;}
    .foot-companies-divider{display:none;}
    .company-logo{height:28px;}
  }
