/* Load after refinement.css. These selectors do not use the legacy menu-toggle. */
.navigation-header {
  --navigation-admin-offset: 0px;
  --navigation-header-height: 88px;
  --navigation-ink: #181b17;
  --navigation-paper: #f3f3ef;
  --navigation-lime: #d7ff62;
  z-index: 100;
}
.admin-bar .navigation-header { --navigation-admin-offset: 32px; }
.navigation-header .navigation-shell { position: relative; min-height: var(--navigation-header-height); gap: 24px; }
.navigation-header .navigation-main {
  position: static;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: clamp(18px, 2.2vw, 30px);
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
}
.navigation-header .navigation-main > .navigation-link,
.navigation-header .navigation-services > summary,
.navigation-header .navigation-contact {
  color: #e5e9df;
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .085em;
  text-transform: uppercase;
  text-decoration: none;
}
.navigation-header .navigation-main > .navigation-link { padding: 14px 0; white-space: nowrap; }
.navigation-header .navigation-link:hover,
.navigation-header .navigation-link[aria-current="page"],
.navigation-header .navigation-services.navigation-current > summary { color: var(--navigation-lime); }
.navigation-header .navigation-services { position: relative; margin: 0; padding: 0; }
.navigation-header .navigation-services > summary {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 14px 0;
  list-style: none;
  cursor: pointer;
  white-space: nowrap;
}
.navigation-header .navigation-services > summary::-webkit-details-marker { display: none; }
.navigation-header .navigation-services > summary::marker { content: ''; }
.navigation-header .navigation-services > summary:hover { color: var(--navigation-lime); }
.navigation-header .navigation-chevron { flex-shrink: 0; transition: transform 180ms ease; }
.navigation-header .navigation-services[open] > summary .navigation-chevron { transform: rotate(180deg); }
.navigation-header .navigation-services-panel {
  position: absolute;
  top: calc(100% + 15px);
  left: -22px;
  width: 350px;
  max-width: calc(100vw - 40px);
  padding: 10px 22px 14px;
  border: 1px solid #cbd0c2;
  background: var(--navigation-paper);
  color: var(--navigation-ink);
  box-shadow: 0 18px 45px #0002;
}
.navigation-header .navigation-services-panel .navigation-overview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 0;
  color: var(--navigation-ink);
  border-bottom: 1px solid #cbd0c2;
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}
.navigation-header .navigation-services-list { list-style: none; margin: 0; padding: 5px 0 0; }
.navigation-header .navigation-services-list li { margin: 0; padding: 0; }
.navigation-header .navigation-services-list a {
  display: grid;
  gap: 4px;
  grid-template-columns: 24px minmax(0,1fr);
  column-gap: 12px;
  margin: 0 -10px;
  padding: 12px 10px;
  color: var(--navigation-ink);
  text-decoration: none;
}
.navigation-header .navigation-services-panel a:hover,
.navigation-header .navigation-services-panel a[aria-current="page"] { color: var(--navigation-ink); background: #e5eadc; }
.navigation-header .navigation-service-name { font-size: .87rem; font-weight: 600; line-height: 1.4; letter-spacing: -.015em; overflow-wrap: anywhere; }
.navigation-service-icon{grid-column:1;grid-row:1/3;align-self:center}
.navigation-header .navigation-service-name,.navigation-header .navigation-service-description{grid-column:2}
.navigation-header .navigation-service-description { color: #626b58; font-size: .72rem; font-weight: 400; line-height: 1.5; }
.navigation-header .navigation-contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  gap: 16px;
  min-height: 44px;
  padding: 12px 16px;
  border: 1px solid #a2aa98;
  white-space: nowrap;
}
.navigation-header .navigation-contact:hover { background: var(--navigation-lime); border-color: var(--navigation-lime); color: var(--navigation-ink); }
.navigation-header .navigation-toggle { display: none; }
.navigation-header .navigation-main a:focus-visible,
.navigation-header .navigation-services > summary:focus-visible,
.navigation-header .navigation-toggle:focus-visible { outline: 2px solid var(--navigation-lime); outline-offset: 4px; }
.navigation-header .navigation-services-panel a:focus-visible { outline-color: var(--navigation-ink); }
.navigation-header svg { flex-shrink: 0; }
@media (max-width: 960px) {
  .navigation-header { --navigation-header-height: 76px; }
  .navigation-header[data-navigation-ready="true"] { position: sticky; top: var(--navigation-admin-offset); }
  .navigation-header .navigation-shell { position: static; flex-wrap: wrap; column-gap: 20px; row-gap: 0; }
  .navigation-header .brand { display: flex; align-items: center; min-height: var(--navigation-header-height); }
  .navigation-header .brand img { width: 130px; }
  .navigation-header[data-navigation-ready="true"] .navigation-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    background: transparent;
    border: 1px solid #77806f;
    border-radius: 0;
    color: #f3f5ef;
    cursor: pointer;
  }
  .navigation-header .navigation-main {
    flex: 0 0 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    padding: 2px 0 24px;
  }
  .navigation-header[data-navigation-ready="true"] .navigation-main {
    position: absolute;
    display: none;
    top: 100%;
    left: 0;
    right: 0;
    max-height: calc(100vh - var(--navigation-admin-offset) - var(--navigation-header-height));
    max-height: calc(100dvh - var(--navigation-admin-offset) - var(--navigation-header-height));
    padding: 8px max(20px, calc((100vw - 1400px) / 2)) max(24px, env(safe-area-inset-bottom));
    border-top: 1px solid #414a3a;
    border-bottom: 1px solid #414a3a;
    background: #151717;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .navigation-header[data-navigation-open="true"] .navigation-main { display: flex; }
  .navigation-header .navigation-main > .navigation-link,
  .navigation-header .navigation-services > summary {
    justify-content: space-between;
    min-height: 54px;
    padding: 17px 0;
    border-bottom: 1px solid #35402f;
    font-size: .88rem;
    letter-spacing: .085em;
  }
  .navigation-header .navigation-services > summary .navigation-chevron { width: 18px; height: 18px; }
  .navigation-header .navigation-services-panel {
    position: static;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 3px 0 15px 15px;
    border: 0;
    border-left: 1px solid #57634d;
    background: transparent;
    box-shadow: none;
  }
  .navigation-header .navigation-services-panel .navigation-overview { color: #e8ede2; border-color: #35402f; font-size: .81rem; padding: 15px 0; }
  .navigation-header .navigation-services-list a { margin: 0; padding: 12px 0; color: #e8ede2; }
  .navigation-header .navigation-service-name { font-size: .88rem; }
  .navigation-header .navigation-service-description { color: #aeb9a2; font-size: .75rem; }
  .navigation-header .navigation-services-panel a:hover,
  .navigation-header .navigation-services-panel a[aria-current="page"] { background: transparent; color: var(--navigation-lime); }
  .navigation-header .navigation-services-panel a:focus-visible { outline-color: var(--navigation-lime); }
  .navigation-header .navigation-contact { margin-top: 20px; min-height: 49px; font-size: .8rem; border-color: #71815d; color: var(--navigation-lime); }
  .navigation-header .navigation-contact:hover { color: var(--navigation-ink); }
  .navigation-header .navigation-burger path { transition: transform 180ms ease, opacity 140ms ease; }
  .navigation-header .navigation-burger-top { transform-origin: 12px 7px; }
  .navigation-header .navigation-burger-middle { transform-origin: 12px 12px; }
  .navigation-header .navigation-burger-bottom { transform-origin: 12px 17px; }
  .navigation-header[data-navigation-open="true"] .navigation-burger-top { transform: translateY(5px) rotate(45deg); }
  .navigation-header[data-navigation-open="true"] .navigation-burger-middle { opacity: 0; }
  .navigation-header[data-navigation-open="true"] .navigation-burger-bottom { transform: translateY(-5px) rotate(-45deg); }
}
@media (max-width: 782px) { .admin-bar .navigation-header { --navigation-admin-offset: 46px; } }
@media(max-width:960px){.detail-aside,.article-outline,.about-project-pair,body .city-layout-rail{position:static}h2[id],h3[id],#main{scroll-margin-top:9rem}}
/* The WordPress toolbar scrolls with the document at <=600px; its initial space remains in html. */
@media (max-width: 600px) { .admin-bar .navigation-header { --navigation-admin-offset: 0px; } }
@media (prefers-reduced-motion: reduce) { .navigation-header *, .navigation-header *::before, .navigation-header *::after { transition: none !important; animation: none !important; } }
@media (forced-colors: active) { .navigation-header .navigation-services-panel, .navigation-header .navigation-toggle, .navigation-header .navigation-contact { border: 1px solid ButtonText; } }

/* Explicitly isolate the new navigation from legacy generic link spacing. */
.navigation-header .navigation-main>.navigation-contact{padding:14px 22px;gap:18px;min-height:50px;line-height:1.35;border-color:var(--navigation-lime);border-radius:6px}
.navigation-header[data-navigation-ready="true"] .navigation-toggle{border-radius:6px}
.navigation-header .navigation-services-panel{border-radius:6px}
.navigation-header .navigation-main>.navigation-contact:hover{color:var(--navigation-ink)}
@media(min-width:1920px){:root{--wrap:1640px}.navigation-header{--navigation-header-height:100px}.navigation-header .brand img{width:155px;max-height:51px}.navigation-header .navigation-main>.navigation-link,.navigation-header .navigation-services>summary,.navigation-header .navigation-contact{font-size:.84rem}.navigation-header .navigation-main{gap:36px}}
