.links{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:16px;
  font-weight:700;
}

nav{
  height:112px;
  padding-inline:max(4vw,20px);
}

.brand{
  position:relative;
  display:block;
  flex:0 0 350px;
  width:350px;
  height:100px;
  overflow:hidden;
  border-radius:12px;
  filter:drop-shadow(0 9px 18px #0d62d91a);
}

.brand img{
  position:absolute;
  top:0;
  left:0;
  width:360px;
  max-width:none;
  max-height:none;
  height:auto;
  object-fit:contain;
  transform:translate(-5px,-36px);
  filter:none;
}

.links>a:not(.nav-cta),
.nav-group>summary{
  position:relative;
  padding:12px 0;
  transition:color .2s ease;
}

.links>a:not(.nav-cta)::before,
.nav-group>summary::before{
  content:'';
  position:absolute;
  right:0;
  bottom:5px;
  left:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--blue),var(--cyan));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}

.links>a:not(.nav-cta):hover,
.links>a:not(.nav-cta):focus-visible,
.nav-group:hover>summary,
.nav-group[open]>summary{
  color:var(--blue);
}

.links>a:not(.nav-cta):hover::before,
.links>a:not(.nav-cta):focus-visible::before,
.nav-group:hover>summary::before,
.nav-group[open]>summary::before{
  transform:scaleX(1);
}

.nav-cta{
  white-space:nowrap;
  box-shadow:0 10px 24px #0d62d92b;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.nav-cta:hover,
.nav-cta:focus-visible{
  background:#084faa;
  transform:translateY(-2px);
  box-shadow:0 14px 30px #0d62d940;
}

.nav-group{position:relative}
.nav-group summary{list-style:none;cursor:pointer;white-space:nowrap}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary::after{
  content:'⌄';
  display:inline-block;
  margin-left:6px;
  font-size:14px;
  line-height:1;
  transition:transform .2s ease;
}
.nav-group[open] summary::after{transform:rotate(180deg)}

.dropdown{
  position:absolute;
  z-index:40;
  top:calc(100% + 5px);
  left:-20px;
  width:290px;
  padding:10px;
  background:#fff;
  border:1px solid #dfe8f3;
  border-top:3px solid var(--blue);
  border-radius:11px;
  box-shadow:0 22px 55px #071b3d29;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}

.nav-group[open]>.dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

.dropdown::before{
  content:'';
  position:absolute;
  top:-9px;
  left:30px;
  width:13px;
  height:13px;
  background:#fff;
  border-top:1px solid #dfe8f3;
  border-left:1px solid #dfe8f3;
  transform:rotate(45deg);
}

.dropdown.right{right:-18px;left:auto}
.dropdown.right::before{right:30px;left:auto}
.dropdown a{
  display:block;
  padding:11px 13px;
  border-radius:7px;
  font-size:16px;
  font-weight:650;
  color:#24334a;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.dropdown a:hover,
.dropdown a:focus-visible{
  color:var(--blue);
  background:linear-gradient(90deg,#edf5ff,#f7fbff);
  transform:translateX(3px);
}

footer img{
  display:block;
  width:330px;
  max-width:100%;
  max-height:132px;
  object-fit:contain;
  object-position:left center;
  filter:none!important;
  background:#fff;
  border-radius:10px;
  padding:8px 12px;
  box-shadow:0 12px 35px #0000002e;
}

@media(max-width:1180px){
  .links{gap:10px;font-size:16px}
  .brand{flex-basis:300px;width:300px;height:92px}
  .brand img{width:320px;transform:translate(-7px,-31px)}
}

@media(max-width:1050px){
  nav{height:92px}
  .brand{flex-basis:285px;width:285px;height:82px}
  .brand img{width:300px;transform:translate(-6px,-29px)}
  .menu-btn{display:block}
  .links{
    display:none;
    position:absolute;
    top:126px;
    right:0;
    left:0;
    padding:22px max(5vw,20px);
    background:#fff;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    font-size:16px;
    box-shadow:0 18px 38px #071b3d24;
  }
  .links.open{display:flex}
  .links>a:not(.nav-cta),.nav-group>summary{padding:10px 0}
  .nav-group{width:100%}
  .nav-group summary{padding:10px 0}
  .dropdown,.dropdown.right{
    position:static;
    width:100%;
    margin:4px 0 9px;
    padding:4px 8px;
    border:0;
    border-left:3px solid var(--blue);
    border-radius:0 8px 8px 0;
    box-shadow:none;
    transform:none;
  }
  .dropdown::before{display:none}
  .dropdown a{padding:9px 12px;font-size:16px}
  footer img{width:300px}
}

@media(max-width:520px){
  .brand{flex-basis:245px;width:245px;height:76px}
  .brand img{width:265px;transform:translate(-7px,-25px)}
  footer img{width:270px}
}

@media(prefers-reduced-motion:reduce){
  .dropdown,.dropdown a,.nav-cta,.nav-group summary::after,
  .links>a:not(.nav-cta)::before,.nav-group>summary::before{transition:none}
}
