/* ============ FOLD 01 · Announcement bar + Navigation ============ */

/* The header sticks: the announcement bar scrolls away, the nav stays put. */
.site-header {
  position: sticky; top: -3.1648rem; z-index: 40;
  --reveal-start: 0s;
}
.site-header::after {                     /* soft edge once it is stuck over content */
  content: ""; position: absolute; left: 0; right: 0; bottom: -1rem; height: 1rem;
  background: linear-gradient(rgba(6, 43, 69, 0.08), transparent);
  opacity: 0; transition: opacity 0.3s; pointer-events: none;
}
.site-header.is-stuck::after { opacity: 1; }

.topbar {
  display: flex; align-items: center; justify-content: center;
  height: 3.1648rem;
  padding: 0.7824rem 0;
  background: linear-gradient(90deg, #0a72ba 0%, #29b5e8 50%, #35d3e0 100%);
}
.topbar__text {
  font-weight: 900; font-size: 1.2257rem; line-height: normal; letter-spacing: 0.0245rem;
  color: var(--white); text-align: center; white-space: nowrap;
}
.topbar__link { text-decoration: underline; text-underline-position: from-font; }

.nav {
  display: flex; align-items: center;
  height: 5.8436rem;
  padding: 0 2.4349rem;
  background: var(--white);
}
.nav__inner {
  display: flex; align-items: center; gap: 2.2602rem;
  width: 147.5532rem;
}

.nav__logo { display: flex; align-items: center; flex-shrink: 0; }
.nav__shield {
  display: flex; align-items: center; justify-content: center;
  width: 5.4767rem; height: 4.7813rem;
  padding: 0.2435rem 0.3652rem;
  border-radius: 0.5478rem;
  filter: drop-shadow(0 0.0609rem 0.1217rem rgba(0, 0, 0, 0.15));
}
.nav__shield img { width: 100%; height: 100%; object-fit: cover; }
.nav__wordmark {
  position: relative; display: block; flex-shrink: 0;
  width: 20.4972rem; height: 1.8229rem; overflow: visible;
}
.nav__wordmark img {     position: absolute;
    left: 0;
    top: 5px;
    width: 100%;
    height: auto; }

.nav__menu {
  display: flex; align-items: flex-start; gap: 0.487rem;
  flex: 1 0 0; height: 2.6784rem;
}
.nav__menu li { display: flex; padding: 0 0.9739rem; height: 100%; }
.nav__link {
  display: flex; align-items: center; justify-content: center;
  padding: 0.487rem 0; border-radius: 0.2435rem;
  font-weight: 700; font-size: 1.3909rem; line-height: 1.7044rem; letter-spacing: -0.019rem;
  color: var(--nav-ink); white-space: nowrap;
}

/* Register CTA in the nav (same icon button as the hero, one size down) */
.btn-icon--nav { flex-shrink: 0; gap: 0.8rem; padding: 0.5rem 1.8rem 0.5rem 0.5rem; }
.btn-icon--nav .btn-icon__circle { width: 3.4rem; height: 3.4rem; }
.btn-icon--nav .btn-icon__circle img { width: 1.3rem; height: 1.3rem; }
.btn-icon--nav .btn-icon__label { font-size: 1.4rem; }
