@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Cormorant+Upright:wght@400;500;600&family=Zen+Old+Mincho:wght@400;500;600;700&display=swap');

:root{
  --atlas-header-ink:#1f1c18;
  --atlas-header-paper:#fbfaf6;
  --atlas-header-line:rgba(31,28,24,.16);
  --atlas-signature-font:"Cormorant Upright","Cormorant Garamond","Times New Roman",serif;
  --atlas-ja-final:"Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;
  --atlas-en-all:"Cormorant Garamond","Times New Roman",serif;
}

body.has-home-header{padding-top:88px!important}
.site-header.atlas-shared-header{
  position:fixed!important;
  inset:0 0 auto 0!important;
  z-index:9999!important;
  height:88px!important;
  padding:0 3.5vw!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  color:var(--atlas-header-ink)!important;
  background:rgba(251,250,246,.94)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  border-bottom:1px solid var(--atlas-header-line)!important;
  transition:height .35s ease,background .35s ease,color .35s ease!important;
  box-sizing:border-box!important;
}
.site-header.atlas-shared-header.scrolled{height:72px!important}
.site-header.atlas-shared-header *{box-sizing:border-box}
.site-header.atlas-shared-header a{color:inherit!important;text-decoration:none!important}

.site-header.atlas-shared-header .wordmark{
  justify-self:start!important;
  display:inline-flex!important;
  width:max-content!important;
  line-height:1!important;
  font-family:var(--atlas-signature-font)!important;
  font-size:1rem!important;
  font-weight:500!important;
  font-style:normal!important;
  letter-spacing:.11em!important;
  white-space:nowrap!important;
  text-transform:uppercase!important;
}

.site-header.atlas-shared-header .desktop-nav{
  display:flex!important;
  align-items:center!important;
  gap:clamp(.85rem,1.35vw,1.6rem)!important;
  margin:0!important;
  padding:0!important;
  font-size:clamp(.61rem,.62vw,.70rem)!important;
  line-height:1!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
html[lang="ja"] .site-header.atlas-shared-header .desktop-nav,
html[lang="ja"] .site-header.atlas-shared-header .language-toggle,
html[lang="ja"] .site-header.atlas-shared-header .header-cta,
html[lang="ja"] body>.mobile-menu.atlas-mobile-menu{
  font-family:var(--atlas-ja-final)!important;
  font-weight:500!important;
}
html[lang="en"] .site-header.atlas-shared-header .desktop-nav,
html[lang="en"] .site-header.atlas-shared-header .language-toggle,
html[lang="en"] .site-header.atlas-shared-header .header-cta,
html[lang="en"] body>.mobile-menu.atlas-mobile-menu{
  font-family:var(--atlas-en-all)!important;
  font-weight:500!important;
}
.site-header.atlas-shared-header .desktop-nav a,
.site-header.atlas-shared-header .header-cta{position:relative!important;white-space:nowrap!important}
.site-header.atlas-shared-header .desktop-nav a::after,
.site-header.atlas-shared-header .header-cta::after{
  content:""!important;position:absolute!important;left:0!important;bottom:-.45rem!important;width:100%!important;height:1px!important;
  background:currentColor!important;transform:scaleX(0)!important;transform-origin:right!important;transition:transform .3s ease!important;
}
.site-header.atlas-shared-header .desktop-nav a:hover::after,
.site-header.atlas-shared-header .header-cta:hover::after{transform:scaleX(1)!important;transform-origin:left!important}
.site-header.atlas-shared-header .header-right{justify-self:end!important;display:flex!important;align-items:center!important;gap:1rem!important;margin:0!important}
.site-header.atlas-shared-header .language-toggle{
  border:0!important;background:transparent!important;color:inherit!important;font-size:.66rem!important;letter-spacing:.12em!important;
  text-transform:uppercase!important;cursor:pointer!important;padding:8px 4px!important;
}
.site-header.atlas-shared-header .header-cta{font-size:.72rem!important;letter-spacing:.15em!important;text-transform:uppercase!important}
.site-header.atlas-shared-header .menu-toggle{display:none!important;border:0!important;background:transparent!important;color:inherit!important}
body>.mobile-menu.atlas-mobile-menu{display:none!important}

@media(max-width:980px) and (min-width:769px){
  .site-header.atlas-shared-header .desktop-nav{gap:.8rem!important;font-size:.59rem!important;letter-spacing:.075em!important}
  .site-header.atlas-shared-header .wordmark{font-size:.88rem!important}
  .site-header.atlas-shared-header .header-cta{display:none!important}
}

@media(max-width:768px){
  body.has-home-header{padding-top:64px!important}
  .site-header.atlas-shared-header,
  .site-header.atlas-shared-header.scrolled{
    display:block!important;height:64px!important;padding:0 16px!important;background:rgba(247,243,236,.97)!important;
    color:var(--atlas-header-ink)!important;
  }
  .site-header.atlas-shared-header .wordmark{
    position:absolute!important;left:16px!important;top:50%!important;transform:translateY(-50%)!important;max-width:34vw!important;
    overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;z-index:2!important;
    font-family:var(--atlas-signature-font)!important;font-size:.78rem!important;font-weight:500!important;letter-spacing:.075em!important;
  }
  .site-header.atlas-shared-header .desktop-nav,
  .site-header.atlas-shared-header .header-cta{display:none!important}
  .site-header.atlas-shared-header .header-right{display:block!important}
  .site-header.atlas-shared-header .language-toggle{
    position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;z-index:10010!important;
    min-width:44px!important;padding:8px 10px!important;font-size:.78rem!important;font-weight:700!important;line-height:1!important;
    letter-spacing:.1em!important;text-align:center!important;color:var(--atlas-header-ink)!important;
  }
  .site-header.atlas-shared-header .menu-toggle{
    position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;z-index:10020!important;
    display:grid!important;place-content:center!important;width:48px!important;height:48px!important;padding:0!important;cursor:pointer!important;
  }
  .site-header.atlas-shared-header .menu-toggle span{display:block!important;width:22px!important;height:1px!important;margin:3px 0!important;background:var(--atlas-header-ink)!important;transition:transform .25s ease!important}
  body.menu-open .site-header.atlas-shared-header .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)!important}
  body.menu-open .site-header.atlas-shared-header .menu-toggle span:last-child{transform:translateY(-3px) rotate(-45deg)!important}

  body>.mobile-menu.atlas-mobile-menu{
    position:fixed!important;z-index:9998!important;top:64px!important;left:0!important;right:0!important;bottom:0!important;
    display:none!important;background:rgba(247,243,236,.985)!important;color:var(--atlas-header-ink)!important;padding:34px 24px 88px!important;
    overflow-y:auto!important;
  }
  body>.mobile-menu.atlas-mobile-menu.open{display:block!important}
  body>.mobile-menu.atlas-mobile-menu nav{display:flex!important;flex-direction:column!important;gap:0!important}
  body>.mobile-menu.atlas-mobile-menu nav a{
    display:block!important;color:inherit!important;text-decoration:none!important;padding:11px 0!important;font-size:1.08rem!important;
    font-weight:500!important;line-height:1.45!important;letter-spacing:.075em!important;border-bottom:1px solid rgba(0,0,0,.12)!important;
  }
  body>.mobile-menu.atlas-mobile-menu p{margin:28px 0 0!important;font-size:.88rem!important;line-height:1.9!important;color:rgba(17,16,14,.7)!important}
}
@media(max-width:390px){
  .site-header.atlas-shared-header .wordmark{max-width:31vw!important;font-size:.68rem!important}
  .site-header.atlas-shared-header .language-toggle{font-size:.72rem!important;min-width:40px!important;padding:8px 6px!important}
}


/* === Mobile hamburger menu: exact homepage appearance === */
@media(max-width:768px){
  body.menu-open{overflow:hidden!important;}
  body>.mobile-menu.atlas-mobile-menu{
    position:fixed!important;
    z-index:10000!important;
    top:64px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    padding:34px 24px 88px!important;
    overflow-y:auto!important;
    background:#0b0a08!important;
    color:#fff!important;
    transition:opacity .3s ease,visibility .3s ease!important;
  }
  body>.mobile-menu.atlas-mobile-menu.open,
  body.menu-open>.mobile-menu.atlas-mobile-menu{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body>.mobile-menu.atlas-mobile-menu nav{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    width:100%!important;
  }
  body>.mobile-menu.atlas-mobile-menu nav a{
    display:block!important;
    width:100%!important;
    padding:11px 0!important;
    color:#fff!important;
    font-size:1.08rem!important;
    font-weight:500!important;
    line-height:1.45!important;
    letter-spacing:.075em!important;
    text-decoration:none!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
  }
  html[lang="ja"] body>.mobile-menu.atlas-mobile-menu nav a{
    font-family:var(--atlas-ja-final)!important;
    font-size:1rem!important;
    letter-spacing:.09em!important;
  }
  html[lang="en"] body>.mobile-menu.atlas-mobile-menu nav a{
    font-family:var(--atlas-en-all)!important;
  }
  body>.mobile-menu.atlas-mobile-menu p{
    margin:24px 0 0!important;
    max-width:28em!important;
    color:rgba(255,255,255,.45)!important;
    font-size:.78rem!important;
    font-weight:400!important;
    line-height:1.9!important;
    letter-spacing:.045em!important;
    opacity:1!important;
  }
}
