.os007-header {
  background:var(--os-bg);
  position:relative;
  z-index:3;
}

.os007-header-inner {
  display:flex;
  align-items:center;
  gap:clamp(1.25rem,2.8vw,2.75rem);
  min-block-size:clamp(3.9rem,6.5vw,6rem);
}

.os007-brand {
  margin-inline-end:auto;
  flex-shrink:0;
}

.os007-brand-link {
  display:flex;
  align-items:center;
  gap:clamp(.7rem,1.2vw,1.3rem);
  text-decoration:none;
}

.os007-logo-mark {
  inline-size:clamp(4.5rem,8.2vw,7.5rem);
  block-size:auto;
}

.os007-wordmark {
  font:400 clamp(1.2rem,2.1vw,1.9rem)/1.2 var(--os-serif);
  letter-spacing:.035em;
  white-space:nowrap;
  color:var(--os-teal);
}

.os007-wordmark small {
  display:block;
  font:600 clamp(.47rem,.69vw,.66rem)/1.5 var(--os-sans);
  letter-spacing:.35em;
  margin-block-start:.4rem;
}

.custom-logo-link img {
  max-inline-size:300px;
  max-block-size:80px;
  object-fit:contain;
}

.os007-menu {
  display:flex;
  gap:clamp(1.1rem,2.5vw,2.25rem);
  align-items:center;
  list-style:none;
  margin:0;
  padding:0;
}

.os007-menu a {
  display:flex;
  align-items:center;
  min-block-size:44px;
  text-decoration:none;
  font:400 clamp(.875rem,1.1vw,1rem)/1.3 var(--os-serif);
  white-space:nowrap;
}

.os007-menu a:hover,.os007-menu .current-menu-item>a {
  text-decoration:underline;
  text-decoration-thickness:1px;
}

.os007-header-book {
  font-size:clamp(.9rem,1.1vw,1.05rem);
  padding-inline:clamp(1.2rem,2.8vw,2.8rem);
}

.os007-nav-toggle {
  display:none;
  align-items:center;
  justify-content:center;
  inline-size:44px;
  block-size:44px;
  background:transparent;
  border:1px solid var(--os-border);
  border-radius:4px;
}

@media(max-width:899px) {
  .os007-header-inner {
    flex-wrap:wrap;
    gap:.75rem;
    min-block-size:80px;
    padding-block:.75rem;
  }
  .os007-brand-link {
    gap:.5rem;
  }
  .os007-logo-mark {
    inline-size:62px;
  }
  .os007-wordmark {
    font-size:1.3rem;
  }
  .os007-wordmark small {
    font-size:.48rem;
  }
  .os007-navigation {
    order:4;
    flex-basis:100%;
  }
  .os007-menu {
    flex-wrap:wrap;
    justify-content:center;
    gap:.5rem 1.75rem;
  }
  .os007-menu a {
    font-size:1rem;
  }
  .os007-header-book {
    font-size:.95rem;
    min-block-size:44px;
    padding:.7rem 1rem;
  }
  .os007-nav-toggle:not([hidden]) {
    display:flex;
  }
  .os007-navigation[data-enhanced]:not([data-open]) {
    display:none;
  }
  .os007-navigation[data-open] {
    padding-block:.7rem;
    border-block-start:1px solid var(--os-border);
  }
}

@media(max-width:480px) {
  .os007-header-inner {
    display:grid;
    grid-template-columns:1fr auto;
    gap:.6rem 1rem;
  }
  .os007-brand {
    grid-column:1;
    grid-row:1;
  }
  .os007-nav-toggle {
    grid-column:2;
    grid-row:1;
  }
  .os007-header-book {
    grid-row:2;
    grid-column:1 / -1;
    min-block-size:44px;
  }
  .os007-navigation {
    grid-column:1 / -1;
    grid-row:3;
  }
  .os007-logo-mark {
    inline-size:62px;
  }
  .os007-wordmark {
    font-size:1.2rem;
  }
  .os007-menu {
    justify-content:flex-start;
    gap:.5rem 1.5rem;
  }
}
