.public-header { gap: 20px; }
.public-header .site-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 24px; }
.public-header .site-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-decoration: none; }
.public-header .site-nav a[aria-current="page"] { color: #ffd994; }
.public-header .nav-toggle { display: none; }
.public-header :focus-visible { outline: 2px solid #ffd994; outline-offset: 4px; }
.artwork-header { position: relative; z-index: 20; }
@media (max-width: 1100px) {
  .public-header { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .public-header.nav-enhanced .nav-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 8px 14px; border: 1px solid #ffffff80; border-radius: 24px; color: #f8f5ee; background: #0b0b0f66; font: 600 14px/1.2 system-ui, sans-serif; cursor: pointer; }
  .nav-toggle::after { content: '☰'; font-size: 17px; }
  .nav-toggle[aria-expanded="true"]::after { content: '×'; font-size: 22px; }
  .public-header .site-nav { flex-basis: 100%; flex-direction: column; align-items: stretch; flex-wrap: nowrap; gap: 4px; padding: 16px 20px; background: #111116; border-bottom: 1px solid #ffffff29; }
  .public-header .site-nav a { padding: 10px 14px; font-size: 16px; }
  .public-header .site-nav a:hover { background: #ffffff0b; }
  .public-header .site-nav .nav-cta { border: 1px solid #ffffff80; border-radius: 24px; margin-top: 4px; }
  .public-header.nav-enhanced .site-nav { position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100dvh - 90px); overflow-y: auto; box-shadow: 0 20px 30px #0005; }
  .public-header.nav-enhanced:not(.nav-open) .site-nav { display: none; }
  .public-header.nav-open { background: #111116; }
}
