/* One navigation system shared by marketing, booking and client-portal pages. */
nav {
  position: fixed;
  z-index: 2000;
  inset: 0 0 auto;
  padding: 14px 18px;
  border: 0;
  background: transparent;
  animation: cqr-nav-in .72s cubic-bezier(.16, 1, .3, 1) both;
  transition: padding .32s cubic-bezier(.16, 1, .3, 1);
}

.nav-inner {
  position: relative;
  width: min(100%, 1240px);
  max-width: none;
  height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0 14px 0 18px;
  border: 1px solid rgba(191, 211, 203, .16);
  border-radius: 17px;
  background: rgba(6, 13, 14, .73);
  box-shadow: 0 13px 48px rgba(0, 0, 0, .22);
  backdrop-filter: blur(19px) saturate(130%);
  -webkit-backdrop-filter: blur(19px) saturate(130%);
  transition: height .32s cubic-bezier(.16, 1, .3, 1), background .28s ease, border-color .28s ease, box-shadow .28s ease;
}

nav.is-scrolled { padding-top: 8px; }
nav.is-scrolled .nav-inner {
  height: 58px;
  border-color: rgba(191, 211, 203, .22);
  background: rgba(5, 11, 12, .9);
  box-shadow: 0 16px 52px rgba(0, 0, 0, .34);
}

.logo { display: flex; flex: 0 0 auto; align-items: center; }
.cqr-logo { display: block; width: auto; height: 36px; transition: transform .3s cubic-bezier(.16, 1, .3, 1), filter .3s ease; }
.logo:hover .cqr-logo { transform: translateY(-1px); filter: brightness(1.08); }

.nav-links {
  display: flex;
  align-items: center;
  gap: 3px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 500;
}

.nav-links > a:not(.book-cta) {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  padding: 9px 11px;
  border: 0;
  border-radius: 9px;
  color: var(--muted) !important;
  background: transparent;
  white-space: nowrap;
  transition: color .2s ease, background .2s ease;
}

.nav-links > a:not(.book-cta):hover { color: var(--text) !important; background: rgba(255, 255, 255, .045); }
.nav-links > a.active:not(.book-cta) { color: var(--text) !important; background: rgba(91, 153, 144, .13); }

.nav-links .book-cta {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  margin-left: 7px;
  padding: 9px 17px;
  border: 1px solid rgba(242, 161, 101, .46);
  border-radius: 11px;
  color: #100f0c !important;
  background: linear-gradient(135deg, var(--accent-2), var(--accent)) !important;
  box-shadow: 0 9px 27px rgba(237, 123, 80, .2);
  font-weight: 750;
  white-space: nowrap;
  transition: transform .25s cubic-bezier(.16, 1, .3, 1), box-shadow .25s ease, filter .25s ease;
}

.nav-links .book-cta:hover { transform: translateY(-2px); filter: brightness(1.04); box-shadow: 0 13px 34px rgba(237, 123, 80, .3); }
.nav-links .book-cta.active { box-shadow: 0 0 0 2px rgba(242, 161, 101, .2), 0 13px 34px rgba(237, 123, 80, .25); }

.nav-toggle {
  display: none;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  background: rgba(255, 255, 255, .035);
  cursor: pointer;
}

.nav-toggle span,
.nav-toggle::before,
.nav-toggle::after {
  display: block;
  width: 18px;
  height: 1.5px;
  margin: 4px auto;
  border-radius: 2px;
  background: currentColor;
  content: "";
  transition: transform .28s cubic-bezier(.16, 1, .3, 1), opacity .2s ease;
}

body.nav-open .nav-toggle span { opacity: 0; }
body.nav-open .nav-toggle::before { transform: translateY(5.5px) rotate(45deg); }
body.nav-open .nav-toggle::after { transform: translateY(-5.5px) rotate(-45deg); }

@keyframes cqr-nav-in {
  from { opacity: 0; transform: translateY(-9px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 900px) {
  body.nav-open { overflow: hidden; }
  nav { padding: 10px 12px; }
  .nav-inner { height: 58px; padding-inline: 15px 8px; }
  .cqr-logo { height: 33px; }
  .js .nav-toggle { display: block; }
  .js .nav-links {
    position: absolute;
    top: calc(100% + 9px);
    right: 0;
    left: 0;
    display: flex;
    align-items: stretch;
    flex-direction: column;
    gap: 3px;
    padding: 10px;
    border: 1px solid var(--border-strong);
    border-radius: 16px;
    background: rgba(5, 12, 13, .97);
    box-shadow: 0 24px 64px rgba(0, 0, 0, .46);
    backdrop-filter: blur(18px) saturate(125%);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px) scale(.985);
    transform-origin: top;
    transition: opacity .22s ease, transform .3s cubic-bezier(.16, 1, .3, 1);
  }
  .js body.nav-open .nav-links { opacity: 1; pointer-events: auto; transform: none; }
  .js .nav-links > a,
  .js .nav-links > a:not(.nav-cta) { display: flex !important; min-height: 44px; align-items: center; }
  .nav-links .book-cta { margin: 5px 0 0; }

  html:not(.js) .nav-inner { height: auto; min-height: 58px; flex-wrap: wrap; padding-block: 8px; }
  html:not(.js) .nav-links { flex-wrap: wrap; justify-content: flex-end; }
}

@media (prefers-reduced-motion: reduce) {
  nav { animation: none; }
}
