/* Huslund header — single source of truth
   Desktop: logo left, cohesive nav right.
   Mobile: centered logo + hamburger, 60px premium header. */

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  height:78px;
  background:#174b36;
  box-shadow:0 1px 0 rgba(255,255,255,.06);
}

.site-header__inner{
  width:100%;
  max-width:1240px;
  height:100%;
  margin:0 auto;
  padding:0 38px 0 72px;
  display:flex;
  align-items:center;
  position:relative;
}

.site-header__brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  width:148px;
  margin:0;
  text-decoration:none;
}

.site-header__brand img{
  display:block;
  width:132px;
  height:auto;
  max-height:62px;
}

.site-header__right{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
  min-width:0;
}

.site-header__nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:25px;
  margin:0;
  color:#fff;
  font-size:14px;
  font-weight:600;
  line-height:1;
}

.site-header__nav a,
.site-header__contact{
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
}

.site-header__nav a:hover,
.site-header__contact:hover{
  opacity:.8;
}

.site-header__contact{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:8px;
  font-size:14px;
  font-weight:600;
  line-height:1;
}

.site-header__menu-toggle,
.site-mobile-menu{
  display:none;
}

@media(max-width:1040px){
  .site-header__inner{
    padding-left:56px;
    padding-right:26px;
  }
  .site-header__right{gap:18px}
  .site-header__nav{gap:18px;font-size:13px}
  .site-header__contact{font-size:13px;padding:0 14px}
}

@media(max-width:820px){
  .site-header__nav{gap:14px;font-size:12px}
  .site-header__contact{display:none}
}

@media(max-width:760px){
  .site-header{
    height:60px;
    position:sticky;
    overflow:visible;
  }

  .site-header__inner{
    height:60px;
    padding:0 18px;
    justify-content:center;
  }

  .site-header__brand{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:126px;
    margin:0;
    justify-content:center;
    z-index:2;
  }

  .site-header__brand img{
    width:112px;
    max-height:50px;
  }

  .site-header__right{
    display:none;
  }

  .site-header__menu-toggle{
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    padding:0;
    border:0;
    background:transparent;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    cursor:pointer;
    z-index:3;
  }

  .site-header__menu-toggle span{
    display:block;
    width:24px;
    height:2px;
    border-radius:2px;
    background:#fff;
    transition:transform .18s ease,opacity .18s ease;
  }

  .site-header__menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }

  .site-header__menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0;
  }

  .site-header__menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }

  .site-mobile-menu{
    position:fixed;
    inset:60px 0 0 0;
    z-index:99;
    background:#174b36;
    padding:24px 28px 24px;
    overflow:auto;
  }

  .site-mobile-menu.is-open{
    display:block;
  }

  .site-mobile-menu__inner{
    width:100%;
    max-width:520px;
    min-height:calc(100% - 1px);
    margin:0 auto;
    display:flex;
    flex-direction:column;
  }

  .site-mobile-menu__nav{
    display:flex;
    flex-direction:column;
  }

  .site-mobile-menu__nav a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:72px;
    color:#fff;
    text-decoration:none;
    font-size:20px;
    font-weight:600;
    letter-spacing:-.25px;
  }

  .site-mobile-menu__nav a span{
    font-size:23px;
    font-weight:400;
    opacity:.9;
  }

  .site-mobile-menu__nav .site-mobile-menu__contact-link{
    margin-top:4px;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.34);
    min-height:78px;
  }

  .site-mobile-menu__details{
    margin-top:auto;
    padding:34px 0 12px;
    border-bottom:1px solid rgba(255,255,255,.28);
    display:flex;
    flex-direction:column;
    gap:18px;
  }

  .site-mobile-menu__details a,
  .site-mobile-menu__details>div{
    display:grid;
    grid-template-columns:28px 1fr;
    align-items:center;
    gap:14px;
    color:#fff;
    text-decoration:none;
    font-size:15px;
    font-weight:500;
    line-height:1.25;
  }

  .site-mobile-menu__icon{
    width:28px;
    text-align:center;
    font-size:21px;
    line-height:1;
    color:#fff;
    opacity:.95;
  }

  body.site-menu-open{
    overflow:hidden;
  }
}
