/* v43 — one deterministic shared header for EN / JA / FR / ES.
   Navigation mode is controlled by JS, not overlapping media queries.
   All languages use the same typography and spacing.
   >= 1600 CSS px: full navigation
   <  1600 CSS px: hamburger navigation
*/

html .sui-site-header{
  position:relative!important;
  overflow:visible!important;
}

/* Hide the old standalone mobile language control in every mode.
   Language choices live inside the hamburger panel on compact widths. */
html .sui-site-header .sui-mobile-lang{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* ---------- DESKTOP MODE ---------- */
html .sui-site-header.sui-header-desktop .sui-mainbar{
  display:grid!important;
  grid-template-columns:minmax(260px,300px) minmax(0,1fr)!important;
  column-gap:32px!important;
  align-items:center!important;
  min-height:104px!important;
  padding:14px 1.2vw!important;
  overflow:visible!important;
}
html .sui-site-header.sui-header-desktop .sui-brand{
  display:block!important;
  width:100%!important;
  max-width:300px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
html .sui-site-header.sui-header-desktop .sui-brand img{
  display:block!important;
  width:100%!important;
  max-width:300px!important;
  height:auto!important;
  margin:0!important;
}
html .sui-site-header.sui-header-desktop .sui-nav{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  min-width:0!important;
  margin:0!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  gap:30px!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}
html .sui-site-header.sui-header-desktop .sui-nav > a,
html .sui-site-header.sui-header-desktop .sui-nav > div > button,
html .sui-site-header.sui-header-desktop .sui-nav > button{
  flex:0 0 auto!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.15!important;
  letter-spacing:0!important;
  margin:0!important;
}
html .sui-site-header.sui-header-desktop .sui-nav > a:not(.sui-start),
html .sui-site-header.sui-header-desktop .sui-nav > div > button:not(.sui-start),
html .sui-site-header.sui-header-desktop .sui-nav > button:not(.sui-start){
  padding-left:0!important;
  padding-right:0!important;
}
html .sui-site-header.sui-header-desktop .sui-start{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:48px!important;
  min-width:190px!important;
  width:auto!important;
  padding:0 44px!important;
  font-size:13px!important;
  font-weight:700!important;
  white-space:nowrap!important;
  line-height:1!important;
}
html:lang(fr) .sui-site-header.sui-header-desktop .sui-start{
  min-width:220px!important;
}
html .sui-site-header.sui-header-desktop .sui-login{
  margin-left:0!important;
}
html .sui-site-header.sui-header-desktop .sui-mobile-toggle,
html .sui-site-header.sui-header-desktop .sui-mobile-panel{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* ---------- COMPACT / HAMBURGER MODE ---------- */
html .sui-site-header.sui-header-mobile .sui-mainbar{
  position:relative!important;
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:88px!important;
  padding:14px 20px!important;
  overflow:visible!important;
}
html .sui-site-header.sui-header-mobile .sui-brand{
  display:block!important;
  flex:0 1 360px!important;
  width:auto!important;
  min-width:0!important;
  max-width:360px!important;
  margin:0!important;
  padding:0!important;
}
html .sui-site-header.sui-header-mobile .sui-brand img{
  display:block!important;
  width:min(360px,100%)!important;
  max-width:360px!important;
  height:auto!important;
  margin:0!important;
}
html .sui-site-header.sui-header-mobile .sui-nav{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
html .sui-site-header.sui-header-mobile .sui-mobile-toggle{
  position:relative!important;
  z-index:10020!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  flex:0 0 48px!important;
  width:48px!important;
  height:44px!important;
  margin-left:auto!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
}
html .sui-site-header.sui-header-mobile .sui-mobile-panel{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  position:absolute!important;
  z-index:10030!important;
  left:0!important;
  right:0!important;
  top:100%!important;
  width:100%!important;
  max-height:calc(100vh - 120px)!important;
  overflow-y:auto!important;
  background:#fff!important;
  box-shadow:0 14px 28px rgba(0,0,0,.18)!important;
  pointer-events:none!important;
}
html .sui-site-header.sui-header-mobile .sui-mobile-panel.open{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
html .sui-site-header.sui-header-mobile .sui-mobile-panel.open a,
html .sui-site-header.sui-header-mobile .sui-mobile-panel.open button{
  pointer-events:auto!important;
}

/* Safe fallback before JS executes: compact mode on narrower screens. */
@media (max-width:1599px){
  html .sui-site-header:not(.sui-header-desktop):not(.sui-header-mobile) .sui-nav{display:none!important;}
  html .sui-site-header:not(.sui-header-desktop):not(.sui-header-mobile) .sui-mobile-toggle{display:flex!important;}
}
