/* Navbar. Every visual value is a variable so Webflow properties can set it. */
.nb {
  --nb-h: 64px; --nb-h-s: 56px; --nb-maxw: 1200px; --nb-top: 14px; --nb-top-s: 10px; --nb-side: 16px;
  --nb-bg: rgba(255, 255, 255, 0.86); --nb-bg-s: rgba(255, 255, 255, 0.94); --nb-border: rgba(16, 20, 46, 0.08);
  --nb-radius: 999px; --nb-shadow: 0 10px 30px -18px rgba(16, 40, 90, 0.35); --nb-blur: 14px;
  --nb-text: #10142e; --nb-text-hover: #0066ff; --nb-hover-bg: rgba(0, 102, 255, 0.06);
  --nb-font: var(--rp-font-body, 'Avenir Next', 'Segoe UI', Arial, sans-serif); --nb-fs: 14px; --nb-fw: 500; --nb-gap: 4px;
  --nb-dd-bg: #ffffff; --nb-dd-w: 560px; --nb-dd-radius: 18px; --nb-dd-pad: 10px; --nb-dd-title: #10142e; --nb-dd-desc: #62677b;
  --nb-dd-ic-bg: #eef4ff; --nb-dd-ic: #0066ff; --nb-dd-hover: #f4f7fd;
  --nb-cta-bg: #0066ff; --nb-cta-text: #ffffff; --nb-cta-hover: #0057db; --nb-cta-radius: 999px; --nb-cta-h: 42px; --nb-cta-fs: 14px;
  --nb-cta2-bg: transparent; --nb-cta2-text: #10142e; --nb-cta2-border: rgba(16, 20, 46, 0.16);
  --nb-speed: 0.28s; --nb-z: 1000;
  position: relative; z-index: var(--nb-z); font-family: var(--nb-font);
}
.nb--fixed { position: fixed; inset: 0 0 auto; }
.nb--fixed.nb--pill { padding: var(--nb-top) var(--nb-side) 0; transition: padding var(--nb-speed) ease, transform .4s cubic-bezier(.22,1,.36,1); }
.nb--fixed.nb--pill.nb--shrink.is-scrolled { padding-top: var(--nb-top-s); }
.nb.is-hidden { transform: translateY(-120%); }
.nb-spacer { height: var(--nb-spacer-h, calc(var(--nb-h, 64px) + 28px)); background: var(--nb-spacer-bg, transparent); }

.nb-bar {
  position: relative; display: flex; align-items: center; gap: 20px;
  height: var(--nb-h); margin: 0 auto; padding: 0 10px 0 20px; max-width: var(--nb-maxw);
  background: var(--nb-bg); border-radius: var(--nb-radius); box-shadow: 0 0 0 1px var(--nb-border), var(--nb-shadow);
  -webkit-backdrop-filter: saturate(1.6) blur(var(--nb-blur)); backdrop-filter: saturate(1.6) blur(var(--nb-blur));
  transition: height var(--nb-speed) ease, background var(--nb-speed) ease, box-shadow var(--nb-speed) ease;
}
.nb--full .nb-bar { max-width: none; border-radius: 0; padding-inline: max(20px, calc((100vw - var(--nb-maxw)) / 2)); }
.nb--shrink.is-scrolled .nb-bar { height: var(--nb-h-s); background: var(--nb-bg-s); }
.nb-logo { display: inline-flex; align-items: center; flex: none; }
.nb-logo img, .nb-logo svg { display: block; width: auto; }

.nb-links { flex: 1; display: flex; }
.nb--links-center .nb-links { justify-content: center; }
.nb--links-right .nb-links { justify-content: flex-end; }
.nb-links ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: var(--nb-gap); }
.nb-item { position: relative; }
.nb-link {
  all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 4px;
  height: 38px; padding: 0 13px; border-radius: 999px; color: var(--nb-text);
  font: var(--nb-fw) var(--nb-fs)/1 var(--nb-font); white-space: nowrap; transition: color .2s, background .2s;
}
.nb-link:hover, .nb-item.is-open > .nb-link { color: var(--nb-text-hover); background: var(--nb-hover-bg); }
.nb-link:focus-visible, .nb-btn:focus-visible, .nb-dd-item:focus-visible { outline: 2px solid var(--nb-text-hover); outline-offset: 2px; }
.nb-caret { transition: transform var(--nb-speed) ease; opacity: .7; }
.nb-item.is-open .nb-caret { transform: rotate(180deg); }

.nb-dd {
  position: absolute; top: 100%; left: 50%; padding-top: 12px; z-index: 5;
  opacity: 0; visibility: hidden; transform: translate(-50%, 6px); pointer-events: none;
  transition: opacity var(--nb-speed) ease, transform var(--nb-speed) cubic-bezier(.22,1,.36,1), visibility 0s linear var(--nb-speed);
}
.nb-item.is-open .nb-dd { opacity: 1; visibility: visible; transform: translate(-50%, 0); pointer-events: auto; transition-delay: 0s; }
.nb-dd-in {
  width: var(--nb-dd-w); max-width: calc(100vw - 32px); display: grid; grid-template-columns: repeat(var(--nb-cols, 2), minmax(0, 1fr)); gap: 2px;
  padding: var(--nb-dd-pad); border-radius: var(--nb-dd-radius); background: var(--nb-dd-bg);
  box-shadow: 0 0 0 1px rgba(16, 20, 46, 0.06), 0 30px 60px -24px rgba(16, 40, 90, 0.35);
}
.nb-dd-item { display: flex; align-items: flex-start; gap: 12px; padding: 12px; border-radius: calc(var(--nb-dd-radius) - 6px); text-decoration: none; transition: background .2s; }
.nb-dd-item:hover { background: var(--nb-dd-hover); }
.nb-dd-ic { width: 36px; height: 36px; flex: none; border-radius: 10px; display: grid; place-items: center; background: var(--nb-dd-ic-bg); color: var(--nb-dd-ic); transition: transform .3s cubic-bezier(.22,1,.36,1); }
.nb-dd-item:hover .nb-dd-ic { transform: scale(1.06); }
.nb-dd-t { display: grid; gap: 3px; min-width: 0; padding-top: 1px; }
.nb-dd-t b { display: inline-flex; align-items: center; gap: 5px; font: 600 14px/1.25 var(--nb-font); color: var(--nb-dd-title); }
.nb-dd-t small { font: 400 12.5px/1.45 var(--nb-font); color: var(--nb-dd-desc); }
.nb-ext { opacity: .5; }
.no-icons .nb-dd-item { padding: 10px 14px; }

.nb-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; flex: none; }
.nb--links-left .nb-actions, .nb--links-center .nb-actions { margin-left: 0; }
.nb-btn {
  display: inline-flex; align-items: center; justify-content: center; height: var(--nb-cta-h); padding: 0 20px; border-radius: var(--nb-cta-radius);
  font: 600 var(--nb-cta-fs)/1 var(--nb-font); text-decoration: none; white-space: nowrap;
  transition: background .2s, color .2s, transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s;
}
.nb-btn--1 { background: var(--nb-cta-bg); color: var(--nb-cta-text); box-shadow: 0 8px 18px -10px rgba(0, 102, 255, .6); }
.nb-btn--1:hover { background: var(--nb-cta-hover); transform: translateY(-1px); }
.nb-btn--2 { background: var(--nb-cta2-bg); color: var(--nb-cta2-text); box-shadow: inset 0 0 0 1px var(--nb-cta2-border); }
.nb-btn--2:hover { background: var(--nb-hover-bg); }

/* Mobile and tablet */
.nb-burger { all: unset; cursor: pointer; width: 42px; height: 42px; border-radius: 50%; display: grid; place-content: center; gap: 4px; }
.nb-burger:hover { background: var(--nb-hover-bg); }
.nb-burger i { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--nb-text); transition: transform .3s ease, opacity .2s; }
.nb.is-menu .nb-burger i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nb.is-menu .nb-burger i:nth-child(2) { opacity: 0; }
.nb.is-menu .nb-burger i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.nb.is-mobile .nb-btn--1 { height: 38px; padding: 0 14px; font-size: 13px; }
.nb.is-mobile .nb-bar { padding-left: 16px; gap: 10px; }
.nb.is-mobile .nb-actions { margin-left: auto; } /* links are hidden on mobile: keep the CTA + menu button on the right */
.nb-sheet {
  position: absolute; left: var(--nb-side); right: var(--nb-side); top: calc(100% + 8px); max-height: calc(100vh - 110px); overflow: auto;
  background: var(--nb-dd-bg); border-radius: 22px; padding: 10px; box-shadow: 0 0 0 1px rgba(16, 20, 46, 0.06), 0 30px 60px -24px rgba(16, 40, 90, 0.4);
  opacity: 0; visibility: hidden; transform: translateY(-8px) scale(.98); transform-origin: top center;
  transition: opacity var(--nb-speed) ease, transform var(--nb-speed) cubic-bezier(.22,1,.36,1), visibility 0s linear var(--nb-speed);
}
.nb--full .nb-sheet { left: 0; right: 0; top: 100%; border-radius: 0 0 22px 22px; }
.nb.is-menu .nb-sheet { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.nb-sheet ul { list-style: none; margin: 0; padding: 0; }
.nb-m-item { border-bottom: 1px solid rgba(16, 20, 46, 0.06); }
.nb-m-link { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 16px 12px; font: 600 16px/1.2 var(--nb-font); color: var(--nb-text); }
.nb-m-item.is-open .nb-caret { transform: rotate(180deg); }
.nb-m-sub { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--nb-speed) ease; }
.nb-m-sub > div { overflow: hidden; }
.nb-m-item.is-open .nb-m-sub { grid-template-rows: 1fr; }
.nb-m-sub a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; text-decoration: none; color: var(--nb-text); font: 500 15px/1.3 var(--nb-font); }
.nb-m-sub a:hover { background: var(--nb-dd-hover); }
.nb-m-sub a:last-child { margin-bottom: 10px; }
.nb-m-sub .nb-dd-ic { width: 30px; height: 30px; border-radius: 8px; }
.nb-m-actions { display: grid; gap: 8px; padding: 14px 4px 4px; }
.nb-m-actions .nb-btn { height: 48px; font-size: 15px; }

.nb-progress { position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg, #0066ff, #00ffd9); transform: scaleX(0); transform-origin: left; }
@media (prefers-reduced-motion: reduce) { .nb, .nb * { transition: none !important; } }

.nb-dd-item:not(:has(small)) { align-items: center; }
.nb-dd-in:not(:has(small)) { width: min(var(--nb-dd-w), 440px); }

