/* Shared GoldenStone header geometry. Loaded last on home and interior pages. */
:is(.home-page,.interior-page) .site-header {
  height:84px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:#071a35;
  color:#fff;
}

:is(.home-page,.interior-page) .site-header .header-inner {
  width:100%;
  max-width:none;
  height:84px;
  min-height:84px;
  margin:0;
  padding:0 clamp(24px,5vw,80px);
  display:flex;
  align-items:center;
  gap:32px;
  box-sizing:border-box;
}

:is(.home-page,.interior-page) .site-header .brand {
  display:block;
  flex:0 0 auto;
}

:is(.home-page,.interior-page) .site-header .brand img {
  display:block;
  width:184px;
  height:42px;
  max-height:42px;
  object-fit:contain;
  object-position:left center;
}

:is(.home-page,.interior-page) .site-header .nav-links {
  display:flex;
  flex:1 1 auto;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:clamp(14px,1.25vw,22px);
  width:auto;
  margin:0;
  padding:0;
  color:rgba(255,255,255,.78);
  font-family:Manrope,'PingFang SC','Microsoft YaHei',sans-serif;
  font-size:12px;
  font-weight:700;
  line-height:1.65;
  letter-spacing:-.01em;
}

:is(.home-page,.interior-page) .site-header .nav-links > a:not(.nav-action):not(.nav-contact-btn) {
  position:relative;
  display:block;
  padding:30px 0;
  border:0;
  line-height:1.65;
  white-space:nowrap;
}

:is(.home-page,.interior-page) .site-header .nav-links > a:not(.nav-action):not(.nav-contact-btn)::after {
  position:absolute;
  right:0;
  bottom:20px;
  left:0;
  height:1px;
  content:"";
  background:#e6c579;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .3s cubic-bezier(.2,.7,.2,1);
}

:is(.home-page,.interior-page) .site-header .nav-links > a:not(.nav-action):not(.nav-contact-btn):is(:hover,:focus-visible,[aria-current]) {
  color:#e6c579;
}

:is(.home-page,.interior-page) .site-header .nav-links > a:not(.nav-action):not(.nav-contact-btn):is(:hover,:focus-visible,[aria-current])::after {
  transform:scaleX(1);
  transform-origin:left;
}

:is(.home-page,.interior-page) .site-header :is(.lang-toggle,.page-language) {
  display:block;
  flex:0 0 56px;
  width:56px;
  height:44px;
  min-width:56px;
  min-height:44px;
  padding:0;
  border:1px solid rgba(255,255,255,.28);
  border-radius:0;
  background:transparent;
  color:rgba(255,255,255,.9);
  font:700 13px/1 Manrope,'PingFang SC','Microsoft YaHei',sans-serif;
  white-space:nowrap;
}

:is(.home-page,.interior-page) .site-header :is(.lang-toggle,.page-language):hover {
  border-color:#e6c579;
  background:#e6c579;
  color:#071a35;
}

:is(.home-page,.interior-page) .site-header :is(.nav-action,.nav-contact-btn) {
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  height:48px;
  min-height:48px;
  padding:0 20px;
  border:1px solid #b98a2e;
  border-radius:0;
  background:#b98a2e;
  color:#071a35;
  font:700 11px/1 Manrope,'PingFang SC','Microsoft YaHei',sans-serif;
  white-space:nowrap;
  transition:background .25s ease,transform .25s ease;
}

:is(.home-page,.interior-page) .site-header :is(.nav-action,.nav-contact-btn):is(:hover,:focus-visible) {
  border-color:#e6c579;
  background:#e6c579;
  color:#071a35;
  transform:translateY(-2px);
}

:is(.home-page,.interior-page) .site-header :is(.nav-action,.nav-contact-btn):focus-visible {
  outline:2px solid #fff;
  outline-offset:3px;
}

:is(.home-page,.interior-page) .site-header :is(.nav-toggle,.page-menu) { display:none; }

@media(max-width:1200px) {
  :is(.home-page,.interior-page) .site-header,
  :is(.home-page,.interior-page) .site-header .header-inner {
    height:76px;
    min-height:76px;
  }

  :is(.home-page,.interior-page) .site-header :is(.nav-toggle,.page-menu) {
    display:grid;
    flex:0 0 44px;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:0;
    place-content:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.3);
    background:transparent;
    color:#fff;
  }

  :is(.home-page,.interior-page) .site-header :is(.nav-toggle,.page-menu) span {
    width:18px;
    height:1px;
    background:currentColor;
    transition:transform .25s ease;
  }

  .home-page.nav-open .nav-toggle span:first-child,
  .interior-page .page-menu[aria-expanded=true] span:first-child { transform:translateY(4px) rotate(45deg); }
  .home-page.nav-open .nav-toggle span:last-child,
  .interior-page .page-menu[aria-expanded=true] span:last-child { transform:translateY(-4px) rotate(-45deg); }

  :is(.home-page,.interior-page) .site-header .nav-links,
  .interior-page.js-enabled .site-header .nav-links,
  .interior-page.js-enabled .site-header .nav-links.is-open {
    position:fixed;
    z-index:30;
    inset:76px 0 auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    max-height:calc(100svh - 76px);
    margin:0;
    padding:18px clamp(24px,5vw,80px) 28px;
    overflow-y:auto;
    gap:0 24px;
    background:rgba(7,26,53,.985);
    transform:translateY(-120%);
    visibility:hidden;
    transition:transform .25s ease,visibility .25s ease;
  }

  .home-page.nav-open .site-header .nav-links,
  .interior-page.js-enabled .site-header .nav-links.is-open {
    transform:translateY(0);
    visibility:visible;
  }

  :is(.home-page,.interior-page) .site-header .nav-links > a:not(.nav-action):not(.nav-contact-btn) {
    min-height:44px;
    padding:14px 0;
    font-size:14px;
  }

  :is(.home-page,.interior-page) .site-header .nav-links > a:not(.nav-action):not(.nav-contact-btn)::after {
    right:auto;
    bottom:6px;
    width:30px;
  }

  :is(.home-page,.interior-page) .site-header :is(.lang-toggle,.page-language) {
    align-self:center;
    justify-self:start;
    margin-top:12px;
  }

  :is(.home-page,.interior-page) .site-header :is(.nav-action,.nav-contact-btn) {
    align-self:center;
    justify-self:stretch;
    margin-top:12px;
  }
}

@media(max-width:520px) {
  :is(.home-page,.interior-page) .site-header .header-inner { padding-inline:24px; }
  :is(.home-page,.interior-page) .site-header .brand img { width:162px; }
  :is(.home-page,.interior-page) .site-header .nav-links,
  .interior-page.js-enabled .site-header .nav-links,
  .interior-page.js-enabled .site-header .nav-links.is-open {
    grid-template-columns:1fr;
    padding-inline:24px;
  }
  :is(.home-page,.interior-page) .site-header :is(.lang-toggle,.page-language,.nav-action,.nav-contact-btn) {
    justify-self:stretch;
    width:100%;
  }
}
