/* Homepage service cards — Option B
   Full-image cards with navy overlays, white type, gold accents,
   consistent heights, and restrained premium hover behavior. */

.services--visual .service-grid{
  gap:18px;
}

.services--visual .service-grid .service-card{
  isolation:isolate;
  display:flex;
  min-height:340px;
  overflow:hidden;
  flex-direction:column;
  justify-content:flex-end;
  padding:34px;
  border:1px solid rgba(214,173,98,.34);
  background-color:var(--navy-deep);
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
  color:#fff;
  box-shadow:0 14px 36px rgba(0,27,53,.14);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background-position .55s ease;
}

.services--visual .service-grid .service-card:nth-child(1){
  background-image:linear-gradient(180deg,rgba(0,18,36,.18) 0%,rgba(0,27,53,.58) 48%,rgba(0,18,36,.96) 100%),url("hero-living.webp");
}
.services--visual .service-grid .service-card:nth-child(2){
  background-image:linear-gradient(180deg,rgba(0,18,36,.16) 0%,rgba(0,27,53,.56) 48%,rgba(0,18,36,.96) 100%),url("hero-commercial.webp");
}
.services--visual .service-grid .service-card:nth-child(3){
  background-image:linear-gradient(180deg,rgba(0,18,36,.20) 0%,rgba(0,27,53,.60) 48%,rgba(0,18,36,.97) 100%),url("support-detail.webp");
}
.services--visual .service-grid .service-card:nth-child(4){
  background-image:linear-gradient(180deg,rgba(0,18,36,.18) 0%,rgba(0,27,53,.56) 48%,rgba(0,18,36,.96) 100%),url("hero-kitchen.webp");
}
.services--visual .service-grid .service-card:nth-child(5){
  background-image:linear-gradient(180deg,rgba(0,18,36,.18) 0%,rgba(0,27,53,.58) 48%,rgba(0,18,36,.96) 100%),url("support-organization.webp");
}
.services--visual .service-grid .service-card:nth-child(6){
  background-image:linear-gradient(180deg,rgba(0,18,36,.22) 0%,rgba(0,27,53,.61) 48%,rgba(0,18,36,.97) 100%),url("hero-living.webp");
  background-position:center 64%;
}

.services--visual .service-grid .service-card::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:13px;
  border:1px solid rgba(255,255,255,.23);
  pointer-events:none;
  transition:border-color .28s ease,inset .28s ease;
}

.services--visual .service-grid .service-card::after{
  z-index:2;
  right:28px;
  top:28px;
  width:42px;
  height:2px;
  background:var(--gold-bright);
  box-shadow:0 0 18px rgba(214,173,98,.28);
}

.services--visual .service-grid .service-card .service-card__number,
.services--visual .service-grid .service-card h3,
.services--visual .service-grid .service-card p,
.services--visual .service-grid .service-card .text-link{
  position:relative;
  z-index:1;
}

.services--visual .service-grid .service-card .service-card__number{
  color:var(--gold-bright);
  font-size:17px;
  letter-spacing:.08em;
  text-shadow:0 2px 14px rgba(0,0,0,.34);
}

.services--visual .service-grid .service-card h3{
  margin:14px 0 10px;
  color:#fff;
  font-size:31px;
  line-height:1.08;
  text-shadow:0 3px 22px rgba(0,0,0,.42);
}

.services--visual .service-grid .service-card p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.68;
  text-shadow:0 2px 14px rgba(0,0,0,.34);
}

.services--visual .service-grid .service-card .text-link{
  align-self:flex-start;
  margin-top:18px;
  border-bottom-color:rgba(214,173,98,.72);
  color:var(--gold-bright);
  font-size:12px;
  letter-spacing:.035em;
  text-shadow:0 2px 12px rgba(0,0,0,.32);
}

.services--visual .service-grid .service-card:hover{
  z-index:2;
  transform:translateY(-6px);
  border-color:rgba(214,173,98,.68);
  background-color:var(--navy-deep);
  box-shadow:0 24px 54px rgba(0,27,53,.24);
}

.services--visual .service-grid .service-card:hover::before{
  inset:11px;
  border-color:rgba(214,173,98,.52);
}

.services--visual .service-grid .service-card:hover::after{
  width:68px;
}

.services--visual .service-grid .service-card .text-link:hover,
.services--visual .service-grid .service-card .text-link:focus-visible{
  color:#fff;
  border-bottom-color:#fff;
}

@media(max-width:980px){
  .services--visual .service-grid .service-card{min-height:325px}
}

@media(max-width:640px){
  .services--visual .service-grid .service-card{
    min-height:300px;
    padding:28px;
  }
  .services--visual .service-grid .service-card h3{font-size:29px}
  .services--visual .service-grid .service-card::after{right:23px;top:23px}
}

@media(prefers-reduced-motion:reduce){
  .services--visual .service-grid .service-card,
  .services--visual .service-grid .service-card::before,
  .services--visual .service-grid .service-card::after{transition:none}
}

/* Homepage service areas — original Henderson and Evansville city imagery. */
.areas#areas .area-card{
  isolation:isolate;
  display:flex;
  min-height:365px;
  flex-direction:column;
  justify-content:flex-end;
  padding:38px 40px;
  border:1px solid rgba(214,173,98,.4);
  background-color:var(--navy-deep);
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
  color:#fff;
  box-shadow:0 16px 42px rgba(0,27,53,.16);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background-position .55s ease;
}
.areas#areas .area-card:nth-child(1){
  background-image:linear-gradient(180deg,rgba(0,18,36,.04) 10%,rgba(0,27,53,.28) 48%,rgba(0,18,36,.94) 100%),url("service-area-henderson.webp");
  background-position:center 48%;
}
.areas#areas .area-card:nth-child(2){
  background-image:linear-gradient(180deg,rgba(0,18,36,.04) 10%,rgba(0,27,53,.30) 48%,rgba(0,18,36,.95) 100%),url("service-area-evansville.webp");
  background-position:center 48%;
}
.areas#areas .area-card::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:13px;
  border:1px solid rgba(255,255,255,.22);
  pointer-events:none;
  transition:inset .28s ease,border-color .28s ease;
}
.areas#areas .area-card::after{
  display:none;
}
.areas#areas .area-card > span,
.areas#areas .area-card h3,
.areas#areas .area-card p,
.areas#areas .area-card strong{
  position:relative;
  z-index:1;
}
.areas#areas .area-card > span{
  color:var(--gold-bright);
  text-shadow:0 2px 12px rgba(0,0,0,.42);
}
.areas#areas .area-card h3{
  margin:9px 0 10px;
  color:#fff;
  font-size:50px;
  line-height:1;
  text-shadow:0 3px 24px rgba(0,0,0,.5);
}
.areas#areas .area-card p{
  max-width:500px;
  margin:0;
  color:rgba(255,255,255,.84);
  font-size:14px;
  line-height:1.65;
  text-shadow:0 2px 14px rgba(0,0,0,.4);
}
.areas#areas .area-card strong{
  margin-top:19px;
  color:var(--gold-bright);
  font-size:12px;
  letter-spacing:.025em;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}
.areas#areas .area-card:hover{
  transform:translateY(-6px);
  border-color:rgba(214,173,98,.72);
  box-shadow:0 24px 56px rgba(0,27,53,.24);
}
.areas#areas .area-card:hover::before{
  inset:11px;
  border-color:rgba(214,173,98,.5);
}
@media(max-width:640px){
  .areas#areas .area-card{
    min-height:330px;
    padding:30px;
  }
  .areas#areas .area-card h3{
    font-size:43px;
  }
}
@media(prefers-reduced-motion:reduce){
  .areas#areas .area-card,
  .areas#areas .area-card::before{
    transition:none;
  }
}
