/* Shared Japanese navigation. Keep this breakpoint in sync with site-nav.js. */
.site-header .site-nav { gap: 12px; }
.site-header .site-nav > a {
  padding: 8px;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.6;
  white-space: nowrap;
  text-underline-offset: 6px;
}
.site-nav-mobile-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
  color: var(--ink);
  font: 700 13px/1.5 var(--font-body, var(--sans, sans-serif));
  cursor: pointer;
}
.site-nav-mobile-toggle svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
}
.site-nav-mobile-toggle .site-nav-close-icon { display: none; }
.site-nav-mobile-toggle[aria-expanded="true"] .site-nav-menu-icon { display: none; }
.site-nav-mobile-toggle[aria-expanded="true"] .site-nav-close-icon { display: block; }
.footer-nav a { white-space: nowrap; }
.site-nav .external::after, .footer-nav .external::after {
  content: "";
  width: 14px;
  height: 14px;
  margin-left: 6px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 1000px) {
  .site-header { flex-wrap: wrap; gap: 0 16px; padding-block: 12px; }
  .site-header .site-nav-mobile-toggle { display: inline-flex; }
  .site-header .site-nav {
    width: 100%;
    flex-wrap: wrap;
    gap: 0 16px;
    padding-block: 10px 0;
  }
  .site-header .site-nav[data-enhanced="true"] {
    display: none;
    position: absolute;
    top: 100%;
    right: 20px;
    left: 20px;
    z-index: 60;
    width: auto;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    max-height: calc(100svh - 120px);
    overflow-y: auto;
    padding: 12px 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--bg);
    box-shadow: 0 14px 40px #00000014;
  }
  .site-header .site-nav[data-enhanced="true"].is-mobile-open { display: flex; }
  .site-header .site-nav > a { min-height: 50px; padding-inline: 4px; font-size: 14px; }
  .site-header .site-nav > a + a { border-top: 1px solid var(--line); }
  .site-header .site-nav:not([data-enhanced]) > a { border: 0; }
}

@media (max-width: 600px) {
  .site-footer .footer-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 20px;
    width: 100%;
  }
  .site-footer .footer-nav a { margin: 0; padding-inline: 0; font-size: 12px; }
}
