.mobile-nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  padding: 10px;
  border: 1px solid rgba(250,248,243,.35);
  border-radius: 2px;
  background: rgba(15,30,61,.12);
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}
.mobile-nav-toggle span { display:block; width:100%; height:1.5px; background:#faf8f3; transition:transform .25s,opacity .25s; }
.nav.scrolled .mobile-nav-toggle,.mobile-nav-toggle.on-light { border-color:rgba(15,30,61,.22); background:transparent; }
.nav.scrolled .mobile-nav-toggle span,.mobile-nav-toggle.on-light span { background:#0f1e3d; }
.mobile-nav-backdrop { position:fixed; inset:0; z-index:80; background:rgba(5,14,30,.55); opacity:0; pointer-events:none; transition:opacity .28s; }
.mobile-nav-drawer { position:fixed; top:0; right:0; z-index:81; width:min(84vw,360px); height:100dvh; padding:26px 28px; background:#faf8f3; box-shadow:-18px 0 50px rgba(5,14,30,.24); transform:translateX(105%); transition:transform .32s cubic-bezier(.22,1,.36,1); display:flex; flex-direction:column; }
.mobile-nav-open .mobile-nav-backdrop { opacity:1; pointer-events:auto; }
.mobile-nav-open .mobile-nav-drawer { transform:translateX(0); }
.mobile-nav-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:22px; border-bottom:1px solid rgba(15,30,61,.14); }
.mobile-nav-brand { color:#b08a4a; font:700 11px/1.4 ui-monospace,monospace; letter-spacing:.16em; text-transform:uppercase; }
.mobile-nav-close { width:40px; height:40px; border:0; background:transparent; color:#7a1e23; font:300 30px/1 Arial,sans-serif; cursor:pointer; }
.mobile-nav-links { display:flex; flex-direction:column; padding:28px 0; }
.mobile-nav-links a { display:flex; align-items:center; justify-content:space-between; padding:17px 4px; border-bottom:1px solid rgba(15,30,61,.12); color:#0f1e3d!important; font-size:17px; letter-spacing:.06em; text-decoration:none; }
.mobile-nav-links a::after { content:'→'; color:#b08a4a; font-family:Arial,sans-serif; }
.mobile-nav-links a.active { color:#7a1e23!important; font-weight:700; }
.mobile-nav-foot { margin-top:auto; padding-top:20px; border-top:1px solid rgba(15,30,61,.14); color:#8f9398; font:10px/1.6 ui-monospace,monospace; letter-spacing:.14em; }
.back-to-top {
  position: fixed;
  right: 26px;
  bottom: 88px;
  z-index: 70;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(176,138,74,.65);
  border-radius: 2px;
  background: rgba(15,30,61,.94);
  color: #faf8f3;
  box-shadow: 0 10px 28px rgba(5,14,30,.2);
  font: 300 22px/1 Arial,sans-serif;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .22s, transform .22s, visibility .22s, background-color .22s;
}
.back-to-top:hover { background:#7a1e23; }
.back-to-top:focus-visible { outline:2px solid #b08a4a; outline-offset:3px; }
.back-to-top.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
@media (max-width:960px) {
  .mobile-nav-toggle { display:flex; }
  .nav-inner { gap:12px!important; }
  .nav-meta { margin-left:auto; gap:10px!important; }
}
@media (max-width:520px) {
  .nav-inner { padding-left:16px!important; padding-right:16px!important; }
  .brand-logo { height:36px!important; max-width:118px; object-fit:contain; }
  .mobile-nav-toggle { width:40px; height:40px; }
  .lang-toggle { height:40px!important; }
  .lang-toggle span { width:42px!important; padding-left:8px!important; padding-right:8px!important; display:grid; place-items:center; }
  .back-to-top { right:16px; bottom:76px; width:42px; height:42px; }
}
@media (prefers-reduced-motion:reduce) {
  .back-to-top { transition:none; }
  html:focus-within { scroll-behavior:auto; }
}

/* English edition is temporarily offline. Keep the navigation geometry unchanged. */
.lang-toggle { display:none!important; }
@media (min-width:961px) {
  .nav-meta { min-width:76px; justify-content:flex-end; }
}
