/* V95 Fix Logo + Premium Compact Menu */

/* --- Logo fix: make current logo visible and never show broken alt text --- */
.v71-brand img,
header .v71-brand img,
.v94-front-logo{
  display:block!important;
  width:76px!important;
  height:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  max-height:76px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:18px!important;
  padding:6px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03))!important;
  border:1px solid rgba(132,207,255,.22)!important;
  box-shadow:
    0 18px 42px rgba(0,10,30,.30),
    inset 0 1px rgba(255,255,255,.12)!important;
  content: normal !important;
}

/* If browser still displays alt when image fails, hide text overflow area */
.v71-brand a{
  overflow:hidden!important;
}

/* --- Header premium compact layout --- */
.v71-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:
    radial-gradient(circle at 42% -60%,rgba(69,190,255,.13),transparent 34%),
    linear-gradient(180deg,rgba(8,31,58,.985),rgba(6,26,50,.965))!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;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}

.v71-header-inner{
  width:min(1220px,calc(100% - 32px))!important;
  min-height:104px!important;
  display:grid!important;
  grid-template-columns:minmax(420px,auto) 1fr!important;
  align-items:center!important;
  gap:26px!important;
  padding:14px 0!important;
  margin-inline:auto!important;
}

.v71-brand{
  min-width:0!important;
}
.v71-brand a{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  color:#fff!important;
  text-decoration:none!important;
}

.v71-brand strong{
  display:block!important;
  color:#fff!important;
  font-size:clamp(34px,3.1vw,50px)!important;
  line-height:.94!important;
  letter-spacing:-.07em!important;
  font-weight:1000!important;
  text-shadow:0 4px 18px rgba(0,0,0,.28)!important;
  -webkit-text-fill-color:#fff!important;
  white-space:nowrap!important;
}

.v71-brand small{
  display:block!important;
  margin-top:7px!important;
  color:rgba(234,248,255,.84)!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:900!important;
  text-shadow:0 2px 8px rgba(0,0,0,.24)!important;
  white-space:nowrap!important;
}

/* --- Menu: one clean premium row on desktop --- */
.v71-nav{
  justify-self:end!important;
  min-width:0!important;
}
.v71-nav ul{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}

.v71-nav li{
  flex:0 0 auto!important;
}

.v71-nav a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 14px!important;
  border-radius:16px!important;
  color:rgba(255,255,255,.94)!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:
    inset 0 1px rgba(255,255,255,.05),
    0 10px 24px rgba(0,10,30,.10)!important;
  text-shadow:0 2px 8px rgba(0,0,0,.26)!important;
  transition:.18s ease!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,.16),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:#fff!important;
  background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,.08))!important;
  border-color:rgba(133,208,255,.36)!important;
  box-shadow:
    0 16px 34px rgba(0,14,35,.22),
    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;
}

/* CTA button */
.v71-nav li:last-child a{
  min-height:52px!important;
  padding:0 18px!important;
  background:linear-gradient(135deg,#0d84f0,#34bdff)!important;
  border-color:rgba(255,255,255,.22)!important;
  color:#fff!important;
  box-shadow:
    0 18px 44px rgba(13,132,240,.34),
    inset 0 1px rgba(255,255,255,.30)!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,.32)!important;
}

/* Topbar compact premium */
.v71-topbar{
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align: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-size:13px!important;
  font-weight:1000!important;
  letter-spacing:.02em!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

/* Keep hero below header clean */
.v71-home-hero{
  margin-top:0!important;
}

/* --- Tablet: allow nav to become elegant 2 rows only when needed --- */
@media(max-width:1180px){
  .v71-header-inner{
    grid-template-columns:1fr!important;
    gap:16px!important;
    justify-items:center!important;
    text-align:center!important;
  }
  .v71-brand a{
    justify-content:center!important;
  }
  .v71-nav{
    justify-self:center!important;
    width:100%!important;
  }
  .v71-nav ul{
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:10px!important;
  }
  .v71-nav a{
    min-height:46px!important;
    padding:0 15px!important;
  }
}

/* --- Mobile menu --- */
@media(max-width:760px){
  .v71-header-inner{
    width:calc(100% - 24px)!important;
    grid-template-columns:1fr auto!important;
    justify-items:stretch!important;
    text-align:left!important;
    min-height:78px!important;
    gap:12px!important;
    padding:12px 0!important;
  }

  .v71-brand a{
    justify-content:flex-start!important;
    gap:10px!important;
  }

  .v71-brand img{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    max-height:52px!important;
    border-radius:14px!important;
    padding:5px!important;
  }

  .v71-brand strong{
    font-size:clamp(23px,7vw,32px)!important;
    white-space:normal!important;
    line-height:1!important;
  }

  .v71-brand small{
    font-size:11px!important;
    white-space:normal!important;
    line-height:1.25!important;
    margin-top:4px!important;
  }

  .v71-menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    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 10px!important;
    font-size:14px!important;
    justify-content:center!important;
  }
}

@media(max-width:430px){
  .v71-nav ul{
    grid-template-columns:1fr!important;
  }
  .v71-brand img{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
  }
  .v71-brand strong{
    font-size:22px!important;
  }
  .v71-topbar{
    font-size:11px!important;
    line-height:1.45!important;
    padding:7px 10px!important;
  }
}
