/* Header parity with app/globals.css. Publication font choices do not alter the brand. */
.site-header {
  --brand-pad:clamp(24px,5.5vw,96px);
  position:relative;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  min-height:0;
  padding:clamp(22px,3svh,34px) var(--brand-pad);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:300;
  color:#eef2f7;
}
.site-header .wordmark {
  display:inline-flex;
  align-items:center;
  gap:13px;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:300;
  font-size:19px;
  line-height:1;
  letter-spacing:-.02em;
  flex-shrink:0;
  min-height:36px;
}
.site-header .wordmark>span { font:inherit; letter-spacing:inherit; }
.site-header .ascent-mark { display:block; width:30px; height:30px; overflow:visible; }
.site-header .site-nav {
  display:flex;
  gap:28px;
  align-items:center;
  font-family:inherit;
  color:#b3bdc9;
}
.site-header .nav-link {
  position:relative;
  font-size:14px;
  font-weight:300;
  line-height:normal;
  color:#b3bdc9;
  padding:10px 0;
  letter-spacing:.005em;
  transition:color 220ms ease;
}
.site-header .nav-link::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:5px;
  height:1px;
  background:#eef2f7;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 220ms ease;
  opacity:.5;
}
.site-header .nav-link:hover,.site-header .nav-link[aria-current] { color:#eef2f7; }
.site-header .nav-link:hover::after,.site-header .nav-link[aria-current]::after { transform:scaleX(1); }
.site-header .social-links { display:inline-flex; align-items:center; gap:14px; }
.site-header .social-links a { display:grid; place-items:center; width:24px; height:32px; color:#929ba8; transition:color 220ms ease; }
.site-header .social-links svg { width:15px; height:15px; fill:currentColor; }
.site-header .social-links a:hover { color:#eef2f7; }
.site-header .menu-toggle { display:none; }
@media (min-width:821px) and (max-height:740px) {
  .site-header { padding-block:18px; }
}
@media (max-width:820px) {
  .site-header { --brand-pad:24px; }
  .site-header .site-nav { gap:22px; }
  .site-header .site-nav .social-links { display:none; }
}
@media (max-width:560px) {
  .site-header { gap:18px; padding-top:max(22px,env(safe-area-inset-top)); padding-bottom:18px; }
  .site-header .menu-toggle:not([hidden]) {
    display:flex;
    align-items:center;
    gap:14px;
    border:0;
    background:transparent;
    padding:10px 0 10px 10px;
    font-family:inherit;
    font-weight:300;
    font-size:14px;
    color:#b3bdc9;
  }
  .site-header .menu-toggle [data-menu-symbol] { font-size:19px; line-height:1; }
  .site-header.has-menu .site-nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#0a0e13;
    padding:22px var(--brand-pad) 30px;
    border-bottom:1px solid rgba(238,242,247,.16);
    gap:22px;
  }
  .site-header.has-menu .site-nav.is-open { display:flex; flex-wrap:wrap; justify-content:space-between; }
  .site-header .site-nav .social-links { display:inline-flex; gap:10px; }
  .site-header .site-nav .nav-link { font-size:16px; padding:10px 0; }
  .site-header:not(.has-menu) { flex-wrap:wrap; }
  .site-header:not(.has-menu) .site-nav { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
  .site-header *,.site-header *::after { transition:none!important; }
}
@media print {
  .site-header .site-nav,.site-header .menu-toggle { display:none!important; }
}
