/* Shared masthead: the homepage Realm identity on every page. */
.home-header {
  position: sticky;
  min-height: 6.3125rem;
  padding: .875rem clamp(1.25rem, 3vw, 4.875rem);
}

.site-header.home-header nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 2rem;
  width: 100%;
  font-size: .9875rem;
}

.home-header .nav-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem clamp(.5rem, .8vw, 1rem);
  min-width: 0;
}

.home-header .nav-community { justify-content: flex-end; }
.site-header.home-header nav a { padding: .625rem 0; }
.site-header.home-header nav .discord-link {
  display: inline-flex;
  align-items: center;
  gap: .4375rem;
  white-space: nowrap;
}
.home-header .discord-nav-icon {
  display: block;
  width: 1.375rem;
  height: auto;
  flex-shrink: 0;
}
.site-header.home-header nav .brand {
  display: flex;
  padding: 0;
  gap: 1rem;
  font-size: 1.5rem;
  letter-spacing: .14em;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--white);
}
.site-header.home-header .brand-mark { width: auto; height: 4.5rem; flex: 0 0 auto; }
.site-header.home-header .support-link { padding: .78125rem 1.40625rem; }
.home-header .auth-link { overflow-wrap: anywhere; max-width: 12rem; }
.home-header + main .hero { padding-top: 0; }
#downloads { scroll-margin-top: 8rem; }
/* Decorative header symbols; account text is refreshed by realm-auth-ui.js. */
.site-header.home-header nav .download-nav-link,
.site-header.home-header nav .roadmap-link,
.site-header.home-header nav .supporters-link,
.site-header.home-header nav .store-nav-link,
.site-header.home-header nav .auth-link,
.site-header.home-header nav .support-link {
  display: inline-flex;
  align-items: center;
  gap: .4375rem;
  white-space: nowrap;
}
.home-header .header-symbol,
.home-header .roadmap-nav-icon,
.home-header .supporters-nav-icon {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
  flex-shrink: 0;
}
.home-header .download-nav-icon,
.home-header .roadmap-nav-icon,
.home-header .store-nav-icon { width: 1.25rem; height: 1.25rem; }
.home-header .support-heart-icon { width: 1.375rem; height: 1.375rem; }
.site-header.home-header nav .auth-link { white-space: normal; }
.home-header .auth-link::after {
  content: '';
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  background: url('/header-signin.svg') center / contain no-repeat;
}
.home-header .auth-link[href='/account.html']::after {
  background-image: url('/header-account.svg');
}
/* The shared phone stylesheet forces this link to inline-block. */
.site-header.home-header nav a.roadmap-link { display: inline-flex !important; }

/* Keep all destinations available when there is no room beside the emblem. */
@media (max-width: 79rem) {
  .site-header.home-header nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.5rem; }
  .home-header .brand { order: -1; flex-basis: 100%; justify-content: center; }
  .home-header .nav-group { display: contents; }
  .site-header.home-header nav a:not(.brand) { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; }
  #downloads { scroll-margin-top: 12rem; }
}

@media (max-width: 35rem) {
  .home-header { position: relative; padding: .75rem 1rem; }
  .site-header.home-header nav { gap: .25rem 1.25rem; }
  .home-header .brand { font-size: 1.375rem; gap: .875rem; }
  .site-header.home-header .brand-mark { height: 4.125rem; }
  #downloads { scroll-margin-top: 1rem; }
}

/* These pages previously reserved space for an absolutely positioned header. */
.home-header + main[class]:not(.report-main) { padding-top: clamp(2rem, 5vw, 4rem); }
