/* Immanuel Construction homepage visual corrections */

.home-hero{
  background:#f4f6f8;
  overflow:hidden;
}

.home-hero-grid{
  width:min(1320px,100%);
  max-width:1320px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,47.5%) minmax(0,52.5%);
  min-height:610px;
}

.home-hero-copy{
  position:relative;
  box-sizing:border-box;
  padding:64px 52px 58px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
  min-width:0;
}

.home-hero-copy:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:#e9820a;
}

.hero-kicker{
  max-width:540px;
  margin-bottom:14px;
  font-size:.69rem;
  line-height:1.5;
  color:#e9820a;
  font-weight:800;
  letter-spacing:.18em;
}

.home-hero h1{
  width:100%;
  max-width:560px;
  margin:0;
  color:#082b55;
  font-size:clamp(3.15rem,4.1vw,4.35rem);
  line-height:.98;
  letter-spacing:-.052em;
  font-weight:800;
  white-space:normal;
  overflow:visible;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

.hero-subtitle{
  max-width:520px;
  margin-top:16px;
  color:#e9820a;
  font-size:clamp(1.35rem,1.8vw,1.75rem);
  line-height:1.25;
  font-weight:800;
  font-style:italic;
}

.hero-text{
  max-width:525px;
  margin-top:20px;
  color:#5e6d7e;
  font-size:.9rem;
  line-height:1.8;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:26px;
}

.hero-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  width:100%;
  max-width:540px;
  margin-top:34px;
  padding-top:20px;
  border-top:1px solid #e6ebf0;
}

.hero-meta>div{
  min-width:0;
  padding-right:14px;
}

.hero-meta>div+div{
  padding-left:14px;
  border-left:1px solid #dde4eb;
}

.hero-meta strong,
.hero-meta span{
  display:block;
}

.hero-meta strong{
  color:#082b55;
  font-size:.75rem;
  line-height:1.35;
  font-weight:800;
}

.hero-meta span{
  margin-top:4px;
  color:#7b8795;
  font-size:.61rem;
  line-height:1.45;
}

.home-hero-visual{
  position:relative;
  min-width:0;
  min-height:610px;
  overflow:hidden;
  background:#dfe6ed;
}

.home-hero-visual>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

.hero-image-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(3,26,50,.10),transparent 38%,rgba(3,26,50,.12));
}

.hero-image-badge{
  position:absolute;
  right:0;
  bottom:34px;
  min-width:260px;
  padding:17px 30px 17px 22px;
  border-left:4px solid #e9820a;
  background:rgba(3,26,50,.93);
  color:#fff;
}

.hero-image-badge span,
.hero-image-badge strong{
  display:block;
}

.hero-image-badge span{
  color:#f59b31;
  font-size:.57rem;
  letter-spacing:.21em;
  font-weight:800;
}

.hero-image-badge strong{
  margin-top:5px;
  font-size:.95rem;
  line-height:1.3;
}

@media (max-width:1180px){
  .home-hero-grid{
    grid-template-columns:minmax(0,50%) minmax(0,50%);
    min-height:580px;
  }
  .home-hero-copy{
    padding:56px 42px 50px;
  }
  .home-hero h1{
    font-size:clamp(3rem,5vw,3.75rem);
  }
  .home-hero-visual{
    min-height:580px;
  }
  .hero-meta{
    margin-top:28px;
  }
}

@media (max-width:1023px){
  .home-hero-grid{
    grid-template-columns:1fr;
    min-height:0;
  }
  .home-hero-copy{
    padding:58px 32px 50px;
  }
  .home-hero h1,
  .hero-kicker,
  .hero-subtitle,
  .hero-text,
  .hero-meta{
    max-width:680px;
  }
  .home-hero h1{
    font-size:clamp(3rem,8vw,4.2rem);
  }
  .home-hero-visual{
    min-height:470px;
  }
}

@media (max-width:640px){
  .home-hero-copy{
    padding:46px 22px 42px;
  }
  .home-hero h1{
    font-size:clamp(2.65rem,13vw,3.5rem);
    line-height:1;
  }
  .hero-subtitle{
    font-size:1.35rem;
  }
  .hero-text{
    font-size:.86rem;
    line-height:1.72;
  }
  .hero-actions{
    align-items:stretch;
  }
  .hero-actions .btn-primary,
  .hero-actions .btn-light{
    width:100%;
    justify-content:center;
  }
  .hero-meta{
    grid-template-columns:1fr;
    gap:12px;
    padding-top:18px;
  }
  .hero-meta>div,
  .hero-meta>div+div{
    padding:0;
    border-left:0;
  }
  .home-hero-visual{
    min-height:360px;
  }
  .hero-image-badge{
    right:16px;
    bottom:16px;
    min-width:0;
    max-width:calc(100% - 32px);
  }
}
