:root{--nav-h:70px;--line:rgba(255,255,255,.08);--fill-1:rgba(255,255,255,.04);--bg-footer:#000527;}
/* persistent.id nav (copied from persistent-web/styles.css) */
.nav a{color:inherit;text-decoration:none;}
.nav{color:var(--text-1);}
.btn, .nav__cta { border: 0; cursor: pointer; font-family: inherit; }
.nav { position: fixed; inset: 0 0 auto 0; z-index: 50; display: flex; flex-direction: column; align-items: center; padding: 14px 14px 0; height: var(--nav-h); overflow: hidden; pointer-events: none; transition: height .35s cubic-bezier(.4,0,.2,1), background .3s; }
.nav.is-open { height: 100dvh; background: rgba(0,10,54,.97); pointer-events: auto; }
.nav__inner { pointer-events: auto; position: relative; z-index: 2; height: 56px; width: 100%; max-width: 1120px; min-width: 0; display: flex; align-items: center; flex-shrink: 0; padding: 0 10px 0 20px; border-radius: 20px; background: rgba(1,15,60,.68); -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4); box-shadow: 0 0 0 1px rgba(255,255,255,.09); }
.nav.is-open .nav__inner { background: rgba(255,255,255,.04); }
.nav__logo { display: flex; align-items: center; flex: none; }
.nav__logo img { height: 22px; width: 106px; }
.nav__links { display: none; align-items: center; gap: 28px; margin-left: 44px; }
.nav__links a { font-size: 15px; color: var(--text-2); transition: color .15s; }
.nav__links a:hover { color: var(--text-1); }
@media (min-width: 768px) {
.nav__links { display: flex; }
}
.nav__actions { display: flex; align-items: center; gap: 20px; margin-left: auto; flex: none; }
.nav__login { display: none; font-size: 15px; color: var(--text-2); transition: color .15s; }
.nav__login:hover { color: var(--text-1); }
@media (min-width: 768px) {
.nav__login { display: inline; }
}
.nav__cta { display: inline-flex; align-items: center; height: 34px; padding: 0 13px; border-radius: 8px; background: var(--text-1); color: #0b1a33; font-size: 14px; font-weight: 500; transition: opacity .15s; }
.nav__cta:hover { opacity: .9; }
.nav__cta--block { justify-content: center; height: 46px; width: 100%; font-size: 16px; }
.nav__burger { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; margin-right: -8px; color: var(--text-1); }
@media (min-width: 768px) {
.nav__burger { display: none; }
}
.nav__mobile { width: 100%; display: flex; flex-direction: column; gap: 40px; padding: 28px 0 112px; height: calc(100dvh - var(--nav-h)); opacity: 0; transform: translateY(-16px); pointer-events: none; transition: opacity .3s, transform .3s; }
.nav.is-open .nav__mobile { opacity: 1; transform: none; pointer-events: auto; }
.nav__mobile-primary a { display: block; padding: 8px 16px; font-size: 24px; }
.nav__mobile-secondary { columns: 2; padding-inline: 16px; }
.nav__mobile-secondary a { display: block; padding: 6px 0; font-size: 16px; color: var(--text-3); }
.nav__mobile-cta { padding-inline: 16px; margin-top: auto; }
@media (min-width: 768px) {
.nav__mobile { display: none; }
}
@media (min-width: 768px) and (max-width: 1023px) {
.nav__links { gap: 20px; margin-left: 28px; }
.nav__links a { font-size: 14px; }
}
.nav__links a[aria-current="page"] { color: var(--text-1); }
@media (min-width: 768px) and (max-width: 899px) {
.nav__links { gap: 16px; margin-left: 22px; }
}
@media (min-width: 768px) {
.nav { overflow: visible; }
}
.nav-dd { position: relative; display: flex; align-items: center; }
.nav-dd__toggle { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; font: inherit; font-size: 15px; color: var(--text-2); cursor: pointer; transition: color .15s; }
@media (min-width: 768px) and (max-width: 1023px) {
.nav-dd__toggle { font-size: 14px; }
}
.nav-dd__toggle:hover, .nav-dd.is-open .nav-dd__toggle { color: var(--text-1); }
.nav-dd__toggle svg { opacity: .7; transition: transform .2s; }
.nav-dd.is-open .nav-dd__toggle svg { transform: rotate(180deg); }
.nav-dd__toggle:focus-visible { outline: 2px solid rgba(159,192,255,.8); outline-offset: 4px; border-radius: 4px; }
.nav-dd__menu { position: absolute; top: calc(100% + 22px); left: -16px; width: 320px; padding: 8px; border-radius: 16px; background: #04113e; box-shadow: 0 0 0 1px rgba(255,255,255,.1), 0 24px 48px -16px rgba(0,0,0,.8); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s, transform .18s, visibility .18s; }
.nav-dd__menu::before { content: ""; position: absolute; left: 0; right: 0; top: -24px; height: 24px; }
.nav-dd.is-open .nav-dd__menu { opacity: 1; visibility: visible; transform: none; }
.nav__links .nav-dd__menu a { display: block; padding: 11px 12px; border-radius: 10px; transition: background .15s; }
.nav__links .nav-dd__menu a:hover, .nav__links .nav-dd__menu a:focus-visible { background: rgba(255,255,255,.07); outline: 0; }
.nav-dd__menu b { display: block; font-size: 15px; font-weight: 500; color: var(--text-1); }
.nav-dd__menu span { display: block; margin-top: 2px; font-size: 13px; color: var(--text-3); }
.nav__links .nav-dd__menu .nav-dd__all { margin-top: 4px; padding-top: 13px; border-top: 1px solid var(--line); border-radius: 0 0 10px 10px; font-size: 14px; color: var(--text-2); }
.nav a.nav-dd__toggle{color:var(--text-1);}
.nav a.nav__cta{color:#0b1a33;}
.nav{z-index:60;}
/* the map's own top bar gives way to the site nav */
.onsite .hud.top{display:none!important;}
.onsite .loader{z-index:100;}
.onsite .zbtn{top:92px;}
.onsite .deep{top:84px;}
/* site footer: full width, at the end of the map */
.footnode{width:2800px;transform:translateX(-50%);}
.has-sel .footnode{opacity:0;pointer-events:none;}
.footnode .footer{padding:76px 0 56px;border-top:1px solid var(--line);background:var(--bg-footer);text-align:left;}
.footnode .fwrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.footnode .footer__grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px 24px;}
.footnode .footer__brand img{width:106px;height:auto;opacity:.9;display:block;}
.footnode .footer__addr{margin-top:18px;font-style:normal;font-size:15px;line-height:1.6;color:var(--text-3);}
.footnode .footer__h{font-size:14px;font-weight:500;color:var(--text-1);margin-bottom:14px;}
.footnode .footer__grid a{display:block;padding-bottom:11px;font-size:15px;color:var(--text-3);text-decoration:none;transition:color .15s;}
.footnode .footer__grid a:hover{color:var(--text-1);}
.footnode .footer__bottom{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--text-3);}
.footnode .footer__bottom a{color:var(--text-3);text-decoration:none;}
.footnode .footer__bottom a:hover{color:var(--text-1);}
.footnode .footer__legal{display:flex;flex-wrap:wrap;gap:8px 20px;}
@media (max-width:900px){
  .onsite .zbtn{top:82px;}
  .onsite .deep{top:74px;}
  .footnode{width:100vw!important;}
  .footnode .footer{padding:56px 0 36px;}
  .footnode .fwrap{padding:0 20px;}
  .footnode .footer__grid{grid-template-columns:1fr 1fr;}
  .footnode .footer__brand{grid-column:1/-1;}
}
