*,
*::before,
*::after{
  box-sizing:border-box;
}

:root{
  --asa-nav-bg:#1f374d;
  --asa-blue:#0d6efd;
  --asa-white:#ffffff;
  --asa-text:#102033;
}

body{
  margin:0;
  font-family:"Inter", sans-serif;
}

.asa-navbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1200;
  background:var(--asa-nav-bg);
}

.asa-navbar__inner{
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  position:relative;
}

.asa-navbar__brand{
  display:flex;
  align-items:center;
  text-decoration:none;
  flex-shrink:0;
}

.asa-navbar__logo-wrap{
  position:relative;
  display:block;
  width:310px;
  height:58px;
}

.asa-navbar__logo{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:auto;
  height:52px;
  object-fit:contain;
  display:block;
}

.asa-navbar__menu{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
}

.asa-navbar__link{
  min-height:44px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#ffffff;
  text-decoration:none;
  font-weight:700;
  font-size:16px;
  border-radius:12px;
  transition:background .2s ease, color .2s ease;
}

.asa-navbar__link:hover,
.asa-navbar__link.is-current{
  background:rgba(255,255,255,.10);
  color:#ffffff;
}

.asa-navbar__cta{
  min-height:46px;
  padding:0 20px;
  margin-left:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--asa-blue);
  color:#ffffff;
  text-decoration:none;
  font-weight:800;
  font-size:15px;
  border-radius:14px;
  box-shadow:0 10px 24px rgba(13,110,253,.22);
}

.asa-navbar__cta:hover{
  color:#ffffff;
  filter:brightness(1.04);
}

.asa-navbar__toggle{
  display:none;
  width:50px;
  height:50px;
  border:none;
  border-radius:14px;
  background:rgba(255,255,255,.14);
  position:relative;
  cursor:pointer;
  flex-shrink:0;
  z-index:50;
}

.asa-navbar__toggle span{
  position:absolute;
  left:50%;
  width:22px;
  height:2.5px;
  border-radius:999px;
  background:#ffffff;
  transform:translateX(-50%);
  transition:all .25s ease;
}

.asa-navbar__toggle span:nth-child(1){ top:16px; }
.asa-navbar__toggle span:nth-child(2){ top:24px; }
.asa-navbar__toggle span:nth-child(3){ top:32px; }

.asa-navbar.is-open .asa-navbar__toggle span:nth-child(1){
  top:24px;
  transform:translateX(-50%) rotate(45deg);
}

.asa-navbar.is-open .asa-navbar__toggle span:nth-child(2){
  opacity:0;
}

.asa-navbar.is-open .asa-navbar__toggle span:nth-child(3){
  top:24px;
  transform:translateX(-50%) rotate(-45deg);
}

@media (max-width: 991.98px){
  .asa-navbar__inner{
    min-height:76px;
    justify-content:flex-end;
  }

  .asa-navbar__brand{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    width:175px;
    justify-content:center;
    align-items:center;
    margin:0;
    z-index:20;
    pointer-events:none;
  }

  .asa-navbar__logo-wrap{
    width:175px;
    height:44px;
  }

  .asa-navbar__logo{
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    height:38px;
  }

  .asa-navbar__toggle{
    display:block;
    pointer-events:auto;
  }

  .asa-navbar__menu{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:14px;
    background:#ffffff;
    box-shadow:0 14px 30px rgba(15,23,42,.10);
    z-index:40;
    margin-left:0;
  }

  .asa-navbar.is-open .asa-navbar__menu{
    display:flex;
  }

  .asa-navbar__link{
    min-height:50px;
    justify-content:flex-start;
    color:var(--asa-text);
    padding:0 10px;
    border-radius:10px;
  }

  .asa-navbar__link:hover,
  .asa-navbar__link.is-current{
    color:var(--asa-blue);
    background:rgba(13,110,253,.08);
  }

  .asa-navbar__cta{
    width:100%;
    margin:10px 0 0 0;
    text-align:center;
  }
}

@media (max-width: 575.98px){
  .asa-navbar__inner{
    min-height:72px;
  }

  .asa-navbar__brand{
    width:165px;
  }

  .asa-navbar__logo-wrap{
    width:165px;
    height:40px;
  }

  .asa-navbar__logo{
    height:36px;
  }

  .asa-navbar__toggle{
    width:48px;
    height:48px;
  }
}