/* Route E shared site chrome: one navigation and one footer on every route. */
:root {
  --route-shell-ink: #f4f4f7;
  --route-shell-soft: #c6c6d2;
  --route-shell-mute: #8e8e9a;
  --route-shell-paper: #0a0a0c;
  --route-shell-footer: #060608;
  --route-shell-line: #26262c;
  --route-shell-violet: #9b7bf5;
  --route-shell-green: #61e786;
}

.route-e-legacy-nav,
.route-e-legacy-footer { display: none !important; }

body > .route-e-site-nav,
body.route-e-light > .route-e-site-nav {
  background: rgba(10,10,12,.94) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--route-shell-line) !important;
  box-shadow: none !important;
  color: var(--route-shell-ink) !important;
  font-family: "Inter Tight", system-ui, "Helvetica Neue", Arial, sans-serif !important;
  left: auto !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  padding: 0 !important;
  position: sticky !important;
  right: auto !important;
  top: 0 !important;
  width: 100vw !important;
  z-index: 1000 !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

body > .route-e-site-nav *,
body.route-e-light > .route-e-site-nav * { box-sizing: border-box; }

body > .route-e-site-nav a,
body.route-e-light > .route-e-site-nav a {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: inherit !important;
  display: block;
  font-family: inherit !important;
  margin: 0 !important;
  padding: 0;
  text-decoration: none;
}

body > .route-e-site-nav .route-e-site-nav-in,
body.route-e-light > .route-e-site-nav .route-e-site-nav-in {
  align-items: center;
  display: flex;
  gap: 28px;
  margin: 0 auto !important;
  max-width: 1140px !important;
  min-height: 64px;
  padding: 0 28px !important;
  width: 100% !important;
}

.route-e-site-brand {
  color: var(--route-shell-ink) !important;
  flex: 0 0 auto;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: -.03em !important;
  line-height: 1 !important;
}
.route-e-site-brand em {
  color: var(--route-shell-violet) !important;
  font: inherit !important;
  font-style: normal !important;
}
.route-e-site-name { display: none; }
.route-e-site-tag {
  border-left: 1px solid var(--route-shell-line);
  color: var(--route-shell-mute) !important;
  font-size: 12px !important;
  letter-spacing: .02em !important;
  line-height: 1.35 !important;
  padding-left: 14px;
  white-space: nowrap;
}
.route-e-site-links {
  align-items: center;
  display: flex;
  gap: 22px;
  margin-left: auto;
}
body > .route-e-site-nav .route-e-site-links a,
body.route-e-light > .route-e-site-nav .route-e-site-links a,
body > .route-e-site-nav .route-e-site-contact,
body.route-e-light > .route-e-site-nav .route-e-site-contact {
  color: var(--route-shell-soft) !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  white-space: nowrap;
}
body > .route-e-site-nav .route-e-site-links a:hover,
body.route-e-light > .route-e-site-nav .route-e-site-links a:hover,
body > .route-e-site-nav .route-e-site-links a[aria-current="page"],
body.route-e-light > .route-e-site-nav .route-e-site-links a[aria-current="page"] {
  color: var(--route-shell-ink) !important;
}
body > .route-e-site-nav .route-e-site-links a[aria-current="page"],
body.route-e-light > .route-e-site-nav .route-e-site-links a[aria-current="page"] {
  text-decoration: underline !important;
  text-decoration-color: var(--route-shell-green) !important;
  text-decoration-thickness: 3px !important;
  text-underline-offset: 5px !important;
}
body > .route-e-site-nav .route-e-site-contact,
body.route-e-light > .route-e-site-nav .route-e-site-contact {
  border-bottom: 2px solid transparent !important;
  color: var(--route-shell-ink) !important;
  font-weight: 600 !important;
  margin-left: auto !important;
  padding-bottom: 2px !important;
}
body > .route-e-site-nav .route-e-site-contact:hover,
body.route-e-light > .route-e-site-nav .route-e-site-contact:hover {
  border-bottom-color: var(--route-shell-green) !important;
}

body > .route-e-site-nav .route-e-site-toggle,
body.route-e-light > .route-e-site-nav .route-e-site-toggle,
.route-e-site-mobile { display: none; }
body > .route-e-site-nav .route-e-site-toggle,
body.route-e-light > .route-e-site-nav .route-e-site-toggle {
  align-items: center;
  background: transparent !important;
  border: 1px solid #3a3a44 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: var(--route-shell-ink) !important;
  cursor: pointer;
  font: 600 12px "Inter Tight", system-ui, sans-serif !important;
  gap: 8px;
  justify-content: center;
  letter-spacing: .04em;
  min-height: 44px;
  min-width: 44px;
  padding: 0 12px !important;
}
.route-e-site-bars { display: grid; gap: 5px; }
body > .route-e-site-nav .route-e-site-bars i,
body.route-e-light > .route-e-site-nav .route-e-site-bars i {
  background: currentColor !important;
  display: block;
  height: 1.5px;
  transition: transform .2s ease;
  width: 15px;
}
.route-e-site-toggle[aria-expanded="true"] i:first-child { transform: translateY(3.25px) rotate(45deg); }
.route-e-site-toggle[aria-expanded="true"] i:last-child { transform: translateY(-3.25px) rotate(-45deg); }

body > .route-e-site-footer,
body.route-e-light > .route-e-site-footer {
  background: var(--route-shell-footer) !important;
  border: 0 !important;
  color: var(--route-shell-ink) !important;
  content-visibility: visible !important;
  display: block !important;
  font-family: "Inter Tight", system-ui, "Helvetica Neue", Arial, sans-serif !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  padding: 96px 0 42px !important;
  position: relative !important;
  width: 100vw !important;
  z-index: 3;
}
body > .route-e-site-footer *,
body.route-e-light > .route-e-site-footer * { box-sizing: border-box; }
.route-e-site-footer-in {
  margin: 0 auto !important;
  max-width: 1140px !important;
  padding: 0 28px !important;
  width: 100% !important;
}
body > .route-e-site-footer .route-e-site-footer-title,
body.route-e-light > .route-e-site-footer .route-e-site-footer-title {
  color: var(--route-shell-ink) !important;
  font-family: "Inter Tight", system-ui, sans-serif !important;
  font-size: clamp(44px, 6vw, 76px) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: -.045em !important;
  line-height: .98 !important;
  margin: 0 !important;
  max-width: 760px;
  text-wrap: balance;
}
body > .route-e-site-footer .route-e-site-footer-title em,
body.route-e-light > .route-e-site-footer .route-e-site-footer-title em {
  color: var(--route-shell-violet) !important;
  font-family: "Instrument Serif", Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: -.01em !important;
}
body > .route-e-site-footer .route-e-site-footer-id,
body.route-e-light > .route-e-site-footer .route-e-site-footer-id {
  color: var(--route-shell-soft) !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  margin: 16px 0 0 !important;
  max-width: 66ch;
}
body > .route-e-site-footer .route-e-site-footer-cta,
body.route-e-light > .route-e-site-footer .route-e-site-footer-cta {
  align-items: center;
  background: var(--route-shell-green) !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #0a0a0c !important;
  display: inline-flex !important;
  font-family: "Inter Tight", system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 30px 0 0 !important;
  padding: 13px 24px !important;
  text-decoration: none !important;
  transition: background .15s ease, transform .15s ease;
}
body > .route-e-site-footer .route-e-site-footer-cta:hover,
body.route-e-light > .route-e-site-footer .route-e-site-footer-cta:hover {
  background: #4fd977 !important;
  transform: translateY(-1px);
}
.route-e-site-footer-wordmark {
  color: #17171d !important;
  font-size: clamp(84px, 15.5vw, 240px) !important;
  font-weight: 700 !important;
  letter-spacing: -.055em !important;
  line-height: .85 !important;
  margin: 76px 0 0 !important;
  overflow: hidden;
  text-align: center;
  user-select: none;
  white-space: nowrap;
}
.route-e-site-footer-wordmark em {
  color: var(--route-shell-violet) !important;
  font: inherit !important;
  font-style: normal !important;
}
.route-e-site-footer-links {
  align-items: center;
  border-top: 1px solid var(--route-shell-line) !important;
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  margin: 64px 0 0 !important;
  padding: 26px 0 0 !important;
}
body > .route-e-site-footer .route-e-site-footer-links a,
body.route-e-light > .route-e-site-footer .route-e-site-footer-links a {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--route-shell-soft) !important;
  display: block;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}
body > .route-e-site-footer .route-e-site-footer-links a:hover,
body.route-e-light > .route-e-site-footer .route-e-site-footer-links a:hover {
  color: var(--route-shell-ink) !important;
}
.route-e-site-footer-sectors {
  color: var(--route-shell-mute) !important;
  font-size: 11.5px !important;
  letter-spacing: .18em !important;
  margin-left: auto;
  white-space: nowrap;
}

@media (min-width: 761px) and (max-width: 1050px) {
  body > .route-e-site-nav .route-e-site-nav-in,
  body.route-e-light > .route-e-site-nav .route-e-site-nav-in { gap: 14px; }
  .route-e-site-tag { display: none; }
  .route-e-site-links { gap: 12px; }
  body > .route-e-site-nav .route-e-site-links a,
  body.route-e-light > .route-e-site-nav .route-e-site-links a,
  body > .route-e-site-nav .route-e-site-contact,
  body.route-e-light > .route-e-site-nav .route-e-site-contact { font-size: 13px !important; }
}

@media (max-width: 760px) {
  body > .route-e-site-nav .route-e-site-nav-in,
  body.route-e-light > .route-e-site-nav .route-e-site-nav-in {
    gap: 12px;
    min-height: 64px;
    padding: 0 20px !important;
  }
  .route-e-site-name {
    border-left: 1px solid var(--route-shell-line);
    color: var(--route-shell-mute) !important;
    display: block;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    overflow: hidden;
    padding-left: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .route-e-site-tag,
  .route-e-site-links,
  body > .route-e-site-nav .route-e-site-contact,
  body.route-e-light > .route-e-site-nav .route-e-site-contact { display: none !important; }
  body > .route-e-site-nav .route-e-site-toggle,
  body.route-e-light > .route-e-site-nav .route-e-site-toggle {
    display: inline-flex !important;
    margin-left: auto !important;
  }
  body > .route-e-site-nav .route-e-site-mobile,
  body.route-e-light > .route-e-site-nav .route-e-site-mobile {
    background: var(--route-shell-paper) !important;
    border-bottom: 1px solid var(--route-shell-line) !important;
    box-shadow: 0 16px 28px rgba(0,0,0,.28) !important;
    display: block !important;
    left: 0;
    opacity: 0;
    padding: 10px 20px 20px !important;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 100%;
    transform: translateY(-10px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    visibility: hidden;
  }
  body > .route-e-site-nav .route-e-site-mobile.is-open,
  body.route-e-light > .route-e-site-nav .route-e-site-mobile.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }
  body > .route-e-site-nav .route-e-site-mobile a,
  body.route-e-light > .route-e-site-nav .route-e-site-mobile a {
    border-bottom: 1px solid var(--route-shell-line) !important;
    color: var(--route-shell-ink) !important;
    display: block;
    font-size: 16px !important;
    font-weight: 500 !important;
    padding: 12px 0 !important;
    text-decoration: none !important;
  }
  body > .route-e-site-nav .route-e-site-mobile a:last-child,
  body.route-e-light > .route-e-site-nav .route-e-site-mobile a:last-child { border-bottom: 0 !important; }
  body > .route-e-site-nav .route-e-site-mobile .route-e-site-social,
  body.route-e-light > .route-e-site-nav .route-e-site-mobile .route-e-site-social { color: var(--route-shell-soft) !important; }
  body > .route-e-site-nav .route-e-site-mobile .route-e-site-mobile-cta,
  body.route-e-light > .route-e-site-nav .route-e-site-mobile .route-e-site-mobile-cta {
    background: var(--route-shell-green) !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #0a0a0c !important;
    display: inline-flex !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    margin-top: 14px !important;
    padding: 11px 18px !important;
  }
  body > .route-e-site-footer,
  body.route-e-light > .route-e-site-footer { padding: 76px 0 36px !important; }
  .route-e-site-footer-in { padding: 0 20px !important; }
  body > .route-e-site-footer .route-e-site-footer-title,
  body.route-e-light > .route-e-site-footer .route-e-site-footer-title { font-size: clamp(40px, 12vw, 54px) !important; }
  .route-e-site-footer-wordmark { margin-top: 56px !important; }
  .route-e-site-footer-links { align-items: flex-start; gap: 16px 22px; margin-top: 48px !important; }
  .route-e-site-footer-sectors { margin-left: 0; width: 100%; white-space: normal; }
}

@media (max-width: 390px) {
  .route-e-site-name { max-width: 132px; }
}

@media (prefers-reduced-motion: reduce) {
  .route-e-site-toggle i,
  .route-e-site-mobile,
  .route-e-site-footer-cta { transition: none !important; }
}
