/* 顶部导航条和语言切换 */
.site-header {
  position: fixed;
  z-index: 60;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 74px;
  padding: 14px clamp(20px, 3.2vw, 52px);
  background: rgba(243, 238, 223, 0.94);
  border-bottom: 1px solid #27383024;
  backdrop-filter: blur(12px);
  transition:
    background 0.3s,
    color 0.3s;
}
.site-header.on-hero {
  background: transparent;
  color: var(--cream);
  border-color: transparent;
  backdrop-filter: none;
}
.brand {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin-right: auto;
  line-height: 1;
}
.brand strong {
  font:
    900 33px/0.8 Cenzo,
    Impact,
    sans-serif;
}
.brand small {
  font-size: 8px;
  letter-spacing: 0.14em;
  margin-bottom: 2px;
}
.header-link,
.lang-switch,
.menu-toggle {
  border: 1.5px solid currentColor;
  border-radius: 50px;
  background: transparent;
  padding: 9px 16px;
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}
.header-link:hover,
.lang-switch:hover,
.menu-toggle:hover {
  background: var(--yellow);
  color: var(--ink);
}
.lang-switch {
  display: flex;
  gap: 8px;
  align-items: center;
}
.lang-switch b {
  opacity: 0.42;
}
.lang-switch b.active {
  opacity: 1;
}
.menu-toggle {
  min-width: 76px;
}
.site-menu {
  position: fixed;
  z-index: 58;
  top: 72px;
  right: clamp(20px, 3.2vw, 52px);
  width: min(360px, calc(100vw - 40px));
  padding: 14px;
  background: var(--cream);
  color: var(--ink);
  border: 1.5px solid var(--ink);
  box-shadow: 12px 12px 0 #27383026;
}
.site-menu[hidden] {
  display: none;
}
.site-menu a {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #27383040;
  padding: 14px 12px;
  font-size: 18px;
}
.site-menu a:last-child {
  border: 0;
}
.site-menu a:hover {
  background: var(--yellow);
}
/* 菜单：卡纸质感，不用直角方框 */
.site-menu {
  border: 0;
  border-radius: 30px 20px 34px 24px;
  background-color: #f7efe0;
  background-image: url("../../assets/textures/felt-light.webp");
  background-size: 360px 360px;
  box-shadow: 0 16px 34px rgb(14 40 48 / 0.26);
}
