/* Navegação principal: soluções visíveis e distribuídas pela barra. */
@media (min-width: 851px) {
  .nav {
    padding-inline: clamp(24px, 3vw, 48px);
    gap: 0;
  }

  .brand {
    flex: 0 0 auto;
  }

  .brand img {
    width: clamp(145px, 12vw, 180px);
  }

  .nav nav {
    flex: 1;
    justify-content: flex-end;
    gap: clamp(10px, 1.05vw, 18px);
    margin-left: clamp(22px, 3vw, 48px);
    font-size: clamp(10px, .78vw, 13px);
    white-space: nowrap;
  }

  .nav nav > a:not(.nav-cta) {
    display: flex;
    align-items: center;
    min-height: 44px;
    position: relative;
    transition: transform .28s cubic-bezier(.2,.75,.2,1), color .28s ease;
  }

  .nav nav > a:not(.nav-cta)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    height: 3px;
    background: #ffd000;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .34s cubic-bezier(.2,.75,.2,1);
  }

  .nav nav > a:not(.nav-cta):hover,
  .nav nav > a:not(.nav-cta):focus-visible {
    transform: translateY(-3px);
  }

  .nav nav > a:not(.nav-cta):hover::after,
  .nav nav > a:not(.nav-cta):focus-visible::after {
    transform: scaleX(1);
    transform-origin: left;
  }

  .nav-cta {
    padding: 14px clamp(14px, 1.35vw, 20px);
    transition: transform .28s cubic-bezier(.2,.75,.2,1), box-shadow .28s ease, background-color .28s ease;
  }

  .nav-cta:hover,
  .nav-cta:focus-visible {
    transform: translateY(-4px);
    background: #fff;
    box-shadow: 0 10px 0 #111c36;
  }
}

@media (min-width: 851px) and (max-width: 1100px) {
  .nav {
    padding-inline: 18px;
  }

  .brand img {
    width: 124px;
  }

  .nav nav {
    margin-left: 16px;
    gap: 7px;
    font-size: 9px;
  }

  .nav-cta {
    padding: 12px 13px;
  }
}

@media (min-width: 851px) and (max-width: 1050px) {
  .nav{height:76px;padding-inline:22px}
  .brand img{width:140px;height:58px}
  .menu{display:block}
  .nav nav{display:none;position:absolute;top:76px;left:0;right:0;margin:0;background:var(--navy);padding:25px;flex-direction:column;align-items:flex-start;font-size:14px;gap:0;white-space:normal}
  .nav nav.open{display:flex}
  .nav nav>a{width:100%;padding:10px 0}
  .nav nav>a:not(.nav-cta)::after{bottom:4px}
  .nav-cta{margin-top:8px;padding:14px 18px!important;width:auto!important}
}
