/* Shared navigation: template source, identical in Neat preview and publication. */
.site-head .site-head-inner {
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 2rem);
  padding-block: .65rem;
}
.site-head .ox-global-nav {
  justify-content: flex-end;
  min-width: 0;
  overflow: visible;
  padding: 0;
}
.ox-nav-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .2rem clamp(.5rem, 1.4vw, 1.3rem);
  list-style: none;
  padding: 0;
  margin: 0;
}
.ox-nav-list > li { display: block; }
.ox-nav-list a,
.ox-services-menu > summary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--bone);
  font: 600 .86rem var(--font-body);
  text-decoration: none;
  white-space: nowrap;
}
.ox-services-menu { position: relative; }
.ox-services-menu > summary {
  list-style: none;
  cursor: pointer;
  gap: .35rem;
}
.ox-services-menu > summary::-webkit-details-marker { display: none; }
.ox-services-menu[open] > summary > span { transform: rotate(180deg); }
.ox-services-menu .ox-services-list {
  position: absolute;
  top: 100%;
  left: -.8rem;
  z-index: 60;
  min-width: 15rem;
  margin: 0;
  padding: .5rem;
  list-style: none;
  border: 1px solid var(--seam);
  border-radius: var(--radius-sm);
  background: var(--char);
  box-shadow: 0 12px 30px var(--blood-18);
}
.ox-services-list a {
  display: flex;
  padding: .5rem .75rem;
  width: 100%;
  border-radius: var(--radius-sm);
}
.ox-services-list a:is(:hover, :focus-visible) {
  background: var(--ember-15);
  color: var(--bone);
}
.ox-nav-list .ox-nav-contact .cta-btn {
  min-height: 44px;
  padding: .55rem .9rem;
  font-size: .8rem;
  letter-spacing: 0;
  text-transform: none;
}
@media (max-width: 860px) {
  .site-head .site-head-inner { grid-template-columns: 1fr; gap: .35rem; }
  .site-head .wordmark { height: 2.2rem; }
  .site-head .ox-global-nav { display: block; }
  .ox-nav-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .1rem .4rem;
    width: 100%;
  }
  .ox-nav-list a,
  .ox-services-menu > summary { font-size: .8rem; }
  .ox-services-menu .ox-services-list { left: auto; right: 0; }
  .ox-nav-list .ox-nav-contact .cta-btn { font-size: .75rem; padding-inline: .4rem; }
}
@media (max-width: 350px) {
  .ox-nav-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
