[data-ja],
body:not(.ja) [data-ja] { display:none !important; }

body.ja [data-zh],
body.ja [data-en],
body.en [data-ja] { display:none !important; }

body.ja [data-ja] { display:revert !important; }

body.ja {
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}

body.ja h1,
body.ja h2,
body.ja h3,
body.ja .wordmark small,
body.ja .full-photo .caption b {
  font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
}

body.ja h1,
body.ja h2 {
  letter-spacing:.035em;
  line-break:strict;
}

.language-switcher {
  display:inline-grid;
  grid-auto-flow:column;
  align-items:center;
  border:1px solid currentColor;
  color:inherit;
  background:rgba(255,255,255,.04);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  overflow:hidden;
  flex:0 0 auto;
}

.language-switcher button {
  min-width:38px;
  height:36px;
  padding:0 9px;
  border:0;
  border-right:1px solid currentColor;
  background:transparent;
  color:inherit;
  font:600 11px/1 Arial,sans-serif;
  letter-spacing:.07em;
  cursor:pointer;
  opacity:.58;
}

.language-switcher button:last-child { border-right:0; }
.language-switcher button[aria-pressed="true"] { background:currentColor; opacity:1; }
.language-switcher button[aria-pressed="true"] span { color:var(--paper,#f4f1ea); }
.home .nav:not(.is-scrolled) .language-switcher button[aria-pressed="true"] span { color:var(--ink,#182026); }
.nav.is-scrolled .language-switcher button[aria-pressed="true"] span { color:var(--paper,#f4f1ea); }

body.ja .nav-links [data-ja],
body.ja .links [data-ja] { display:inline-flex !important; }

body.ja.home .nav-links a[data-zh],
body.ja.home .nav-links a[data-en],
body.ja.spaces-page .nav-links a[data-zh],
body.ja.spaces-page .nav-links a[data-en],
body.ja.access-page .links a[data-zh],
body.ja.access-page .links a[data-en] { display:none !important; }

body.ja.home .nav-links a[data-ja],
body.ja.spaces-page .nav-links a[data-ja],
body.ja.access-page .links a[data-ja] { display:inline-flex !important; }

@media(max-width:800px) {
  .nav-in > .language-switcher,
  .nav > .language-switcher {
    grid-column:2;
    grid-row:1;
    align-self:center;
    justify-self:end;
  }

  .language-switcher button {
    min-width:34px;
    height:34px;
    padding:0 7px;
    font-size:10px;
  }

  body.ja .nav-links a[data-ja],
  body.ja .links a[data-ja] { display:flex !important; }
}

@media(max-width:380px) {
  .language-switcher button { min-width:30px; padding:0 5px; }
}

/* Keep navigation and booking controls above scroll effects on touch devices. */
.nav {
  z-index:1000 !important;
  isolation:isolate;
  pointer-events:auto;
}
.nav::before,
.nav::after,
.nav-in::before,
.nav-in::after { pointer-events:none; }
.nav-in,
.nav-links,
.links,
.language-switcher,
.nav a,
.nav button { pointer-events:auto; }
.nav a,
.nav button,
.nav-links a,
.links a,
.language-switcher button {
  position:relative;
  z-index:2;
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(24,32,38,.12);
}
.floating-booking {
  z-index:900 !important;
  pointer-events:auto;
  touch-action:manipulation;
}
