/* ============================================================
   Aero InsightX — Home page (fills the viewport, no scroll on
   desktop; scrolls normally on small/short screens)
   ============================================================ */
.home-shell{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  background:var(--navy);
}
.home-shell .site-header{ flex-shrink:0; }

.home-main{
  position:relative;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  padding:clamp(40px,6vh,80px) 0;
  overflow:hidden;
  background:linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%);
}

/* The actual photo. If assets/hero.jpg does not exist, the onerror
   handler in the HTML hides this tag completely and the plain navy
   background above shows on its own — nothing looks broken either way. */
.home-hero-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}

/* Translucent navy layer ON TOP of the photo, so the white text
   underneath it stays readable. This is a separate, visible element
   now — not a hidden CSS trick. */
.home-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(100deg, rgba(7,22,48,0.72) 15%, rgba(7,22,48,0.28) 75%);
}

.home-content{
  position:relative;
  z-index:2;
}

.home-label{
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(13px,1.1vw,15px);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--orange);
  margin-bottom:18px;
}
.home-tagline{
  color:#FFFFFF;
  font-size:clamp(40px,5.5vw,76px);
  line-height:1.06;
  letter-spacing:-0.015em;
  margin-bottom:22px;
  max-width:1000px;
  text-shadow:0 2px 16px rgba(0,0,0,0.45);
}
.home-sub{
  font-size:clamp(16px,1.4vw,19px);
  line-height:1.7;
  color:rgba(255,255,255,0.9);
  max-width:640px;
  margin-bottom:34px;
  text-shadow:0 1px 10px rgba(0,0,0,0.4);
}
.home-cta-row{ display:flex; gap:16px; flex-wrap:wrap; }

/* Bottom facts bar — everything labeled so it reads instantly */
.home-facts{
  flex-shrink:0;
  background:var(--navy-deep);
  border-top:1px solid rgba(255,255,255,0.16);
}
.home-facts .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px 48px;
  flex-wrap:wrap;
  padding-top:20px;
  padding-bottom:20px;
}
.fact{
  display:flex;
  align-items:baseline;
  gap:10px;
}
.fact .fact-title{
  font-family:var(--font-head);
  font-weight:700;
  font-size:13px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--orange);
  white-space:nowrap;
}
.fact .fact-value{
  font-size:15px;
  font-weight:500;
  color:rgba(255,255,255,0.88);
}

/* On short or narrow screens, let the page scroll normally */
@media (min-width:861px) and (min-height:660px){
  .home-shell{ height:100vh; height:100dvh; overflow:hidden; }
}
@media (max-width:860px){
  .home-facts .wrap{ flex-direction:column; align-items:flex-start; gap:14px; }
}
