/* Home page: fit header + hero + footer on a single screen (no scroll). */
body.home {
  height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding-top: 160px;          /* reserve space for the fixed 64+96 header */
  box-sizing: border-box;
}
body.home #main {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
}
body.home .hero {
  min-height: 0;
  height: 100%;
  width: 100%;
}
/* keep the worker's head in frame when the hero is shorter */
body.home .hero-bg img { object-position: 50% 20%; }

body.home .site-footer { flex: 0 0 auto; }

/* Compact the footer a touch so everything clears on shorter screens */
body.home .footer-content { padding-top: 22px; padding-bottom: 18px; }
body.home .site-footer { min-height: 0; }

@media (max-width: 560px) {
  body.home { padding-top: 110px; }        /* smaller mobile header (40 + 70) */
  body.home .hero-title { font-size: clamp(1.9rem, 8vw, 2.6rem); margin-bottom: 12px; }
  body.home .hero-text { font-size: .9rem; line-height: 1.45; }
}
