.skip-link{
  position:fixed;
  top:-5rem;
  left:1rem;
  z-index:99;
  background:#fff;
  padding:.75rem 1rem;
}
.skip-link:focus{top:1rem}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}
.site-header{
  height:80px;
  padding:0 clamp(1.25rem,5vw,5.5rem);
  display:grid;
  grid-template-columns:180px 1fr auto;
  align-items:center;
  border-bottom:1px solid var(--line);
  background:rgba(250,248,242,.96);
  position:sticky;
  top:0;
  z-index:20;
  backdrop-filter:blur(12px);
}
.brand img{
  width:145px;
  height:62px;
  object-fit:contain;
  object-position:left center;
}
.site-header nav{
  display:flex;
  justify-content:center;
  gap:clamp(1rem,2.6vw,2.6rem);
  font-family:var(--sans);
  font-size:.67rem;
  text-transform:uppercase;
}
.site-header nav a,.header-cta{position:relative}
.site-header nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-8px;
  border-bottom:1px solid;
  transition:.3s;
}
.site-header nav a:hover::after,.site-header nav a[aria-current="page"]::after{right:0}
.header-cta{
  background:var(--navy);
  color:#fff;
  border:0;
  padding:1rem 1.4rem;
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.header-cta span{display:none}
.language-toggle{position:absolute;right:clamp(1rem,2vw,2rem);top:50%;transform:translateY(-50%);z-index:2;border:1px solid var(--line);background:transparent;color:var(--navy);padding:.55rem .7rem;font-family:var(--sans);font-size:.68rem;letter-spacing:.08em;cursor:pointer;white-space:nowrap}.language-toggle:hover,.language-toggle[aria-pressed="true"]{background:var(--gold);border-color:var(--gold)}.language-toggle>span:last-child{margin-left:.35rem}.japan-flag{display:inline-block;width:22px;height:15px;margin:0!important;background:#fff;border:1px solid rgba(15,43,82,.28);vertical-align:-2px;position:relative}.japan-flag::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#bc002d;left:50%;top:50%;transform:translate(-50%,-50%)}.language-widget{position:fixed;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}.header-cta{margin-right:7rem}
.menu-button{
  display:none;
  border:0;
  background:none;
  padding:.5rem;
}
.menu-button span:not(.sr-only){
  display:block;
  width:25px;
  border-top:1px solid;
  margin:6px;
}
.mobile-portal-link{display:none}

@media(max-width:1000px){
  .site-header{grid-template-columns:1fr auto}
  .site-header nav{
    position:absolute;
    display:none;
    top:80px;
    left:0;
    right:0;
    background:var(--paper);
    padding:2rem clamp(1.25rem,5vw,5.5rem);
    flex-direction:column;
    border-bottom:1px solid var(--line);
  }
  .site-header nav.open{display:flex}
  .menu-button{display:block}
  .header-cta{display:none}
  .site-header nav .mobile-portal-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:.75rem;
    padding:1rem 1.2rem;
    background:var(--navy);
    color:#fff;
    box-shadow:0 8px 22px rgba(18,42,70,.18);
    letter-spacing:.12em;
  }
  .site-header nav .mobile-portal-link::after{display:none}
  .mobile-portal-link span{font-size:1rem}
}

@media(max-width:680px){
  .site-header{height:76px}
  .brand img{width:150px}
  .site-header nav{top:76px}
}

.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown::before{content:"";position:absolute;z-index:29;top:100%;left:-5rem;right:-5rem;height:1.35rem}
.nav-dropdown-toggle{display:flex;align-items:center;gap:.45rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}
.nav-dropdown-toggle::after{content:"";width:.38rem;height:.38rem;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}
.nav-dropdown.open .nav-dropdown-toggle::after,.nav-dropdown:focus-within .nav-dropdown-toggle::after{transform:rotate(225deg) translate(-2px,-2px)}
.site-header nav .nav-submenu{position:absolute;top:calc(100% + 1.25rem);left:50%;z-index:30;display:none;min-width:215px;padding:.65rem;transform:translateX(-50%);background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 42px rgba(15,43,82,.16)}
.site-header nav .nav-submenu::before{content:"";position:absolute;left:0;right:0;top:-1.3rem;height:1.3rem}
.site-header nav .nav-submenu a{display:block;padding:.75rem .85rem;white-space:nowrap;font-size:.64rem;letter-spacing:.08em}
.site-header nav .nav-submenu a::after{display:none}
.site-header nav .nav-submenu a:hover,.site-header nav .nav-submenu a:focus-visible{background:var(--cream)}
.nav-dropdown.open .nav-submenu{display:block}
@media(min-width:1001px){.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu{display:block}}
@media(max-width:1000px){
  .nav-dropdown{display:block}
  .nav-dropdown::before{display:none}
  .nav-dropdown-toggle{width:100%;justify-content:space-between}
  .site-header nav .nav-submenu{position:static;min-width:0;margin:.75rem 0 0;padding:.45rem 0 .45rem 1rem;transform:none;border:0;border-left:1px solid var(--line);box-shadow:none;background:transparent}
  .site-header nav .nav-submenu::before{display:none}
  .site-header nav .nav-submenu a{padding:.65rem .75rem}
}
