.site-topbar {
  background:var(--blue);
  color:#fff;
  font-size:.77rem;
  font-weight:600;
}
.site-topbar-inner {
  max-width:1360px;
  min-height:34px;
  margin:0 auto;
  padding:6px 1.5rem;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.5rem 2rem;
}
.site-topbar-item {
  display:flex;
  align-items:center;
  gap:.35rem;
  white-space:nowrap;
}
.site-nav {
  position:sticky;
  top:0;
  z-index:900;
  background:color-mix(in srgb,var(--paper) 96%,transparent);
  border-bottom:1px solid var(--line);
  box-shadow:0 3px 14px rgba(20,40,60,.08);
  backdrop-filter:blur(14px);
}
.site-nav-main {
  max-width:1360px;
  min-height:70px;
  margin:0 auto;
  padding:.5rem 1.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.site-nav-brand {
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:.65rem;
  color:var(--ink);
  text-decoration:none;
  font-size:1.08rem;
  font-weight:800;
  letter-spacing:-.04em;
  white-space:nowrap;
}
.site-nav-brand img { display:block; width:46px; height:46px; object-fit:contain; }
.site-nav-brand em { color:var(--blue); font-style:normal; }
.site-nav-brand small {
  display:block;
  margin-top:-.12rem;
  color:var(--muted);
  font-size:.58rem;
  font-weight:600;
  letter-spacing:.055em;
}
.site-nav-actions { display:flex; flex:0 0 auto; align-items:center; gap:.55rem; }
.site-nav-action {
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:.65rem 1rem;
  border-radius:10px;
  color:var(--muted);
  font-size:.8rem;
  font-weight:700;
  text-decoration:none;
}
.site-nav-action:hover { background:var(--pale); color:var(--blue-dark); }
.site-nav-action-cta {
  background:var(--blue);
  color:#fff;
  box-shadow:0 7px 18px rgba(22,136,198,.2);
}
.site-nav-action-cta:hover { background:var(--blue-dark); color:#fff; }
.site-nav-action svg,.site-topbar-item svg {
  width:1em;
  height:1em;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.site-nav-links {
  display:flex;
  max-width:1360px;
  min-height:44px;
  margin:0 auto;
  padding:0 1.25rem;
  overflow-x:auto;
  scrollbar-width:none;
  background:color-mix(in srgb,var(--canvas) 60%,var(--paper));
}
.site-nav-links::-webkit-scrollbar { display:none; }
.site-nav-link {
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  padding:10px 15px;
  position:relative;
  color:var(--muted);
  font-size:.82rem;
  font-weight:650;
  text-decoration:none;
  white-space:nowrap;
}
.site-nav-link::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--blue); transform:scaleX(0); transition:transform .15s; }
.site-nav-link:hover::after,.site-nav-link[aria-current="page"]::after { transform:scaleX(1); }
.site-nav-link:hover,.site-nav-link[aria-current="page"] {
  color:var(--blue-dark);
}
.site-contact-bubble {
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:1000;
  display:grid;
  width:54px;
  height:54px;
  margin:0;
  padding:0;
  place-items:center;
  border:0;
  border-radius:50%;
  background:var(--blue,#1487db);
  color:#fff;
  box-shadow:0 4px 16px rgba(20,40,60,.22);
  text-decoration:none;
  transition:transform .15s,background .15s;
}
.site-contact-bubble:hover { background:var(--blue-dark,#0e6bb0); color:#fff; transform:scale(1.06); }
.site-contact-bubble:focus-visible { outline:3px solid var(--blue,#1487db); outline-offset:3px; }
.site-contact-bubble svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
[data-theme="dark"] .site-nav { background:rgba(19,29,38,.96); }
[data-theme="dark"] .site-nav-links { background:#131d26; }
@media(max-width:760px) {
  .site-contact-bubble { right:14px; bottom:20px; width:50px; height:50px; }
  .site-topbar-inner { gap:.4rem 1rem; padding:.45rem .6rem; font-size:.65rem; }
  .site-nav-main { min-height:60px; padding:.4rem .8rem; gap:.3rem; }
  .site-nav-brand { gap:.45rem; font-size:.95rem; }
  .site-nav-brand img { width:38px; height:38px; }
  .site-nav-brand small { font-size:.5rem; }
  .site-nav-actions { gap:.2rem; }
  .site-nav-action:not(.site-nav-action-cta) { display:none; }
  .site-nav-action-cta { min-height:38px; padding:.55rem .75rem; font-size:.76rem; }
  .site-nav-links { min-height:40px; padding:0 .45rem; }
  .site-nav-link { padding:9px 11px; font-size:.75rem; }
}

/* Match the primary site's two-row navigation on standalone tools and contact pages. */
body:has(.site-nav) { padding-top:38px; }
.site-topbar {
  position:fixed;
  inset:0 0 auto;
  z-index:950;
  background:#172532;
  font-size:.77rem;
  font-weight:500;
}
.site-topbar-inner {
  max-width:1240px;
  min-height:38px;
  padding:8px 1.5rem;
  gap:.7rem 1.8rem;
  justify-content:center;
  flex-wrap:nowrap;
}
.site-topbar-item { color:inherit; text-decoration:none; }
.site-nav {
  position:sticky;
  top:38px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 28px rgba(27,49,67,.06);
  backdrop-filter:blur(18px);
  line-height:1.6;
}
.site-nav-main {
  max-width:1240px;
  height:76px;
  min-height:0;
  justify-content:flex-start;
  padding:0 1.5rem;
  gap:1.6rem;
}
.site-nav-brand {
  color:#1d2935;
  font-size:1.08rem;
}
.site-nav-brand img { width:48px; height:48px; }
.site-nav-search {
  flex:1;
  display:flex;
  max-width:430px;
  height:44px;
  align-items:center;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#f4f7fa;
  color:var(--muted);
}
.site-nav-search svg {
  width:1rem;
  height:1rem;
  margin-right:8px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.site-nav-search input {
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
  font-size:.86rem;
}
.site-nav-search input::placeholder { color:var(--muted); }
.site-nav-actions { margin-left:auto; gap:.7rem; }
.site-nav-action {
  min-height:42px;
  padding:8px 13px;
  border-radius:11px;
  color:var(--muted);
  font-size:.68rem;
  font-weight:500;
}
.site-nav-action-icon {
  display:block;
  font-size:1.08rem;
}
.site-nav-action-cta {
  min-height:44px;
  padding:11px 19px;
  gap:7px;
  border-radius:11px;
  background:var(--blue);
  color:#fff;
  font-size:.88rem;
  font-weight:700;
}
.site-nav-action-cta:hover { background:var(--blue-dark); color:#fff; }
.site-nav-links {
  min-height:50px;
  max-width:1240px;
  padding:0 1.25rem;
  gap:.15rem;
  overflow-x:auto;
  background:#fff;
}
.site-nav-link {
  padding:12px 15px;
  border-bottom-width:3px;
  color:#536576;
  font-size:.84rem;
  font-weight:600;
}
[data-theme="dark"] .site-nav {
  background:rgba(19,29,38,.96);
}
[data-theme="dark"] .site-nav-links {
  background:var(--paper);
}
[data-theme="dark"] .site-nav-brand { color:var(--ink); }
[data-theme="dark"] .site-nav-search { background:#1a2630; }
@media(max-width:768px) {
  body:has(.site-nav) { padding-top:0; }
  .site-topbar { position:static; }
  .site-topbar-inner {
    max-width:none;
    min-height:38px;
    margin:0;
    padding:7px .7rem;
    justify-content:center;
    gap:.55rem .9rem;
    overflow:hidden;
    font-size:.65rem;
  }
  .site-topbar-item:nth-child(4) { display:none; }
  .site-nav { top:0; }
  .site-nav-main { height:66px; padding:0 1rem; }
  .site-nav-brand img { width:42px; height:42px; }
  .site-nav-links { padding:0 .7rem; }
}
@media(max-width:640px) {
  .site-topbar-inner { padding:7px .7rem; gap:.55rem .9rem; font-size:.65rem; }
  .site-nav-main { height:60px; gap:.3rem; padding:0 .8rem; }
  .site-nav-brand { gap:.45rem; font-size:.95rem; }
  .site-nav-brand img { width:36px; height:36px; }
  .site-nav-brand small { font-size:.5rem; }
  .site-nav-search { display:none; }
  .site-nav-actions { gap:.2rem; }
  .site-nav-action:not(.site-nav-action-cta) { display:none; }
  .site-nav-action-cta { min-height:38px; padding:9px 12px; font-size:.78rem; }
  .site-nav-link { padding:10px 11px; font-size:.75rem; }
}
@media(max-width:768px) {
  .site-nav-links { min-height:44px; }
}
