/* V93 Premium Header/Menu + Hero Readability 10/10 */

/* =========================
   Premium topbar
========================= */
.v71-topbar{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(69,190,255,.18),transparent 38%),
    linear-gradient(90deg,#020d1c,#061a32,#020d1c)!important;
  color:#eaf8ff!important;
  font-weight:1000!important;
  letter-spacing:.025em!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:inset 0 -1px rgba(69,190,255,.10)!important;
}

/* =========================
   Premium header/menu
========================= */
.v71-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:
    linear-gradient(180deg,rgba(8,31,58,.98),rgba(6,26,50,.96))!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  box-shadow:
    0 22px 60px rgba(0,13,33,.28),
    inset 0 1px rgba(255,255,255,.06)!important;
}

.v71-header-inner{
  width:min(1180px,calc(100% - 32px))!important;
  min-height:108px!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:34px!important;
  align-items:center!important;
  padding:18px 0!important;
}

.v71-brand a{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  color:#fff!important;
}

.v71-brand img{
  max-height:54px!important;
  width:auto!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.20))!important;
}

.v71-brand strong{
  display:block!important;
  color:#ffffff!important;
  font-size:clamp(32px,3.1vw,50px)!important;
  line-height:.95!important;
  letter-spacing:-.07em!important;
  font-weight:1000!important;
  text-shadow:0 3px 14px rgba(0,0,0,.24)!important;
  -webkit-text-fill-color:#fff!important;
}

.v71-brand small{
  display:block!important;
  margin-top:6px!important;
  color:rgba(234,248,255,.82)!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.005em!important;
  text-shadow:0 2px 8px rgba(0,0,0,.24)!important;
}

/* nav alignment */
.v71-nav{
  justify-self:end!important;
}
.v71-nav ul{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}

.v71-nav a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:52px!important;
  padding:0 18px!important;
  border-radius:18px!important;
  color:rgba(255,255,255,.93)!important;
  font-size:15px!important;
  font-weight:1000!important;
  letter-spacing:-.01em!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:rgba(255,255,255,.03)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.04)!important;
  text-shadow:0 2px 8px rgba(0,0,0,.24)!important;
}

.v71-nav a:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,0))!important;
  opacity:0!important;
  transition:.18s ease!important;
  pointer-events:none!important;
}

.v71-nav a:hover,
.v71-nav a.active{
  color:#ffffff!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08))!important;
  border-color:rgba(133,208,255,.34)!important;
  box-shadow:
    0 16px 36px rgba(0,14,35,.24),
    inset 0 1px rgba(255,255,255,.12)!important;
  transform:translateY(-1px)!important;
}
.v71-nav a:hover:before,
.v71-nav a.active:before{
  opacity:1!important;
}

/* contact button premium */
.v71-nav li:last-child a{
  min-height:56px!important;
  padding:0 22px!important;
  background:
    linear-gradient(135deg,#0d84f0,#34bdff)!important;
  border-color:rgba(255,255,255,.20)!important;
  color:#fff!important;
  box-shadow:
    0 18px 44px rgba(13,132,240,.34),
    inset 0 1px rgba(255,255,255,.28)!important;
}
.v71-nav li:last-child a:hover{
  transform:translateY(-2px)!important;
  box-shadow:
    0 24px 58px rgba(13,132,240,.42),
    inset 0 1px rgba(255,255,255,.30)!important;
}

/* =========================
   Hero readability
========================= */
.v71-home-hero{
  margin-top:0!important;
}
.v71-home-hero:before{
  background-image:
    linear-gradient(90deg,rgba(3,13,27,.82) 0%,rgba(3,13,27,.64) 34%,rgba(3,13,27,.24) 68%,rgba(3,13,27,.32) 100%),
    url('/assets/img/hero-clean-v87.jpg?v=93'),
    url('/assets/img/hero-crane.webp?v=93')!important;
  filter:none!important;
  opacity:1!important;
}

.v71-hero-copy{
  background:
    linear-gradient(180deg,rgba(7,28,52,.90),rgba(4,17,33,.86))!important;
  border:1px solid rgba(123,209,255,.32)!important;
  border-left:7px solid #45beff!important;
  box-shadow:
    0 34px 90px rgba(0,10,30,.45),
    inset 0 1px rgba(255,255,255,.08)!important;
}

/* force all hero text visible */
.v71-hero-copy h1,
.v71-home-hero h1,
.hero-title{
  color:#fff!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:
    0 3px 16px rgba(0,0,0,.38),
    0 0 1px rgba(255,255,255,.22)!important;
  position:relative!important;
  z-index:12!important;
}

.v71-hero-copy p,
.v71-home-hero p{
  color:rgba(255,255,255,.95)!important;
  opacity:1!important;
  filter:none!important;
  -webkit-text-fill-color:rgba(255,255,255,.95)!important;
  text-shadow:0 2px 10px rgba(0,0,0,.24)!important;
  position:relative!important;
  z-index:12!important;
}

.v71-kicker{
  color:#eaf8ff!important;
  background:rgba(9,50,86,.90)!important;
  border:1px solid rgba(94,200,255,.50)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.12)!important;
  opacity:1!important;
}

/* remove ghost text / watermarks */
.v71-home-hero h1:before,
.v71-home-hero h1:after,
.v71-hero-copy h1:before,
.v71-hero-copy h1:after,
.hero-title:before,
.hero-title:after,
.v71-home-hero [class*="watermark"],
.v71-home-hero [class*="bg-title"],
.v71-home-hero [class*="outline-text"]{
  content:none!important;
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

/* right card: the paragraph in screenshot was too white on white */
.v71-right-card{
  background:rgba(255,255,255,.975)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 34px 95px rgba(0,10,30,.30)!important;
}
.v71-right-card h2{
  color:#071b35!important;
  -webkit-text-fill-color:#071b35!important;
  opacity:1!important;
  text-shadow:none!important;
}
.v71-right-card p{
  color:#445b73!important;
  -webkit-text-fill-color:#445b73!important;
  opacity:1!important;
  text-shadow:none!important;
}
.v71-mini-list div{
  color:#344c64!important;
  -webkit-text-fill-color:#344c64!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* =========================
   Mobile header/menu
========================= */
@media(max-width:980px){
  .v71-header-inner{
    grid-template-columns:1fr auto!important;
    gap:12px!important;
    min-height:82px!important;
    padding:12px 0!important;
  }
  .v71-brand strong{
    font-size:clamp(23px,7vw,34px)!important;
    line-height:1!important;
  }
  .v71-brand small{
    font-size:11px!important;
    margin-top:4px!important;
  }
  .v71-menu-toggle{
    width:48px!important;
    height:48px!important;
    border-radius:16px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08))!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 12px 30px rgba(0,0,0,.22)!important;
  }
  .v71-nav{
    grid-column:1/-1!important;
    width:100%!important;
    justify-self:stretch!important;
    background:rgba(3,16,31,.98)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:20px!important;
    padding:10px!important;
    box-shadow:0 20px 50px rgba(0,10,30,.34)!important;
  }
  .v71-nav ul{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .v71-nav a,
  .v71-nav li:last-child a{
    width:100%!important;
    min-height:48px!important;
    padding:0 12px!important;
    font-size:14px!important;
    justify-content:center!important;
  }
}

@media(max-width:520px){
  .v71-topbar{
    min-height:36px!important;
    font-size:11px!important;
    padding:7px 10px!important;
    line-height:1.45!important;
  }
  .v71-header-inner{
    width:calc(100% - 24px)!important;
  }
  .v71-nav ul{
    grid-template-columns:1fr!important;
  }
  .v71-home-hero h1,
  .v71-hero-copy h1{
    font-size:32px!important;
    line-height:1.08!important;
  }
}
