/* StaggeredMenu treatment adapted to the site's static HTML and brand palette. */
.page-home .site-header,
.page-home .site-header.is-scrolled {
  position: fixed;
  inset: 0 0 auto;
  height: 92px;
  z-index: 100;
  color: #fff;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
}
.page-home .site-header.is-scrolled,
.page-contact .site-header,
.page-contact .site-header.is-scrolled {
  background: rgba(12,14,20,.96);
}
.page-home .site-header.is-open,
.page-home .site-header.is-open.is-scrolled { background: rgba(12,14,20,.96); box-shadow: none; }
.page-home .header-inner { position: relative; z-index: 6; height: 92px; justify-content: space-between; gap: 16px; }
.page-home .brand { color: #fff; }
.page-home .header-action { display: none; }

.page-home .menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  width: auto;
  min-width: 100px;
  height: 48px;
  margin: 0 0 0 auto;
  padding: 8px 0 8px 12px;
  border: 0;
  background: transparent;
  color: #fff;
  font: 500 16px/1 "Satoshi", sans-serif;
  cursor: pointer;
  transition: color 280ms ease;
}
.page-home .site-header.is-open .menu-toggle { color: var(--ink); }
.page-home .menu-toggle:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; border-radius: 3px; }
.menu-toggle-text { display: block; width: 55px; height: 1em; overflow: hidden; text-align: right; }
.menu-toggle-text-inner { display: flex; flex-direction: column; transform: translateY(0); transition: transform 620ms cubic-bezier(.2,.75,.2,1); }
.menu-toggle-text-inner > span { display: block; height: 1em; line-height: 1; }
.site-header.is-open .menu-toggle-text-inner { transform: translateY(-50%); }
.menu-toggle-icon { position: relative; display: block; width: 19px; height: 19px; flex: 0 0 19px; transform: rotate(0); transition: transform 760ms cubic-bezier(.2,.75,.2,1); }
.site-header.is-open .menu-toggle-icon { transform: rotate(225deg); }
.menu-toggle-line { position: absolute; top: 50%; left: 50%; width: 19px; height: 2px; border-radius: 2px; background: currentColor; transform: translate(-50%,-50%); }
.menu-toggle-line:last-child { transform: translate(-50%,-50%) rotate(90deg); }

.menu-scrim { position: fixed; inset: 0; z-index: 1; background: rgba(0,0,0,.45); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 420ms ease, visibility 0s linear 420ms; }
.site-header.is-open .menu-scrim { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
.menu-prelayers { position: fixed; top: 0; right: 0; z-index: 2; width: min(480px,100vw); height: 100dvh; pointer-events: none; }
.menu-prelayers span { position: absolute; inset: 0; display: block; transform: translateX(103%); transition: transform 560ms cubic-bezier(.22,.8,.2,1); }
.menu-prelayers span:first-child { background: #b08313; transition-delay: 55ms; }
.menu-prelayers span:last-child { background: #e4ba3c; transition-delay: 25ms; }
.site-header.is-open .menu-prelayers span:first-child { transform: translateX(0); transition-delay: 0ms; }
.site-header.is-open .menu-prelayers span:last-child { transform: translateX(0); transition-delay: 70ms; }

.page-home .site-nav {
  position: fixed;
  inset: 0 0 auto auto;
  z-index: 3;
  display: block;
  width: min(480px,100vw);
  height: 100dvh;
  margin: 0;
  padding: 112px 36px 32px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
  color: var(--ink);
  opacity: 1;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(103%);
  box-shadow: none;
  transition: transform 670ms cubic-bezier(.22,.8,.2,1), visibility 0s linear 670ms;
}
.page-home .site-header.is-open .site-nav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
  transition-delay: 130ms, 0ms;
}
.menu-panel-inner { display: flex; flex-direction: column; min-height: 100%; }
.menu-panel-eyebrow { margin: 0 0 31px; color: #777; font-size: 13px; }
.menu-panel-list { counter-reset: menu-item; display: flex; flex-direction: column; gap: 11px; margin: 0; padding: 0; list-style: none; }
.menu-panel-list li { counter-increment: menu-item; overflow: hidden; }
.page-home .menu-panel-list a {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding: 0 45px 3px 0;
  border: 0;
  color: var(--ink);
  font-size: clamp(40px,3.55vw,58px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.065em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color 240ms ease;
}
.page-home .menu-panel-list a::after { content: counter(menu-item,decimal-leading-zero); position: absolute; top: .2em; right: 1px; left: auto; display: block; width: auto; height: auto; background: none; color: var(--gold); font-size: 13px; font-weight: 500; letter-spacing: 0; }
.page-home .menu-panel-list a:hover,
.page-home .menu-panel-list a:focus-visible,
.page-home .menu-panel-list a[aria-current="page"] { color: var(--gold); }
.page-home .menu-panel-list a:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
.menu-panel-list a > span { display: block; opacity: 0; transform: translateY(125%) rotate(8deg); transform-origin: left bottom; transition: transform 670ms cubic-bezier(.2,.8,.2,1), opacity 420ms ease; }
.site-header.is-open .menu-panel-list a > span { opacity: 1; transform: translateY(0) rotate(0); transition-delay: calc(270ms + var(--stagger) * 85ms); }
.menu-socials { display: flex; flex-wrap: wrap; align-items: center; gap: 11px 22px; margin-top: auto; padding-top: 50px; opacity: 0; transform: translateY(20px); transition: opacity 450ms ease, transform 550ms cubic-bezier(.2,.8,.2,1); }
.site-header.is-open .menu-socials { opacity: 1; transform: none; transition-delay: 560ms; }
.menu-socials p { flex: 0 0 100%; margin: 0 0 2px; color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.page-home .menu-socials a { display: inline-block; height: auto; padding: 0; border: 0; color: var(--ink); font-size: 15px; font-weight: 500; line-height: 1.3; }
.page-home .menu-socials a:hover,
.page-home .menu-socials a:focus-visible { color: var(--gold); }

@media (max-width: 900px) {
  .page-home .site-nav { top: 0; right: 0; left: auto; width: 100vw; height: 100dvh; padding: 112px 24px 28px; }
  .menu-prelayers { width: 100vw; }
  .page-home .site-header.is-open .brand { color: var(--ink); }
}
@media (max-width: 620px) {
  .page-home .site-header,
  .page-home .site-header.is-scrolled { height: 92px; background: var(--ink); }
  .page-home .site-header.is-open { background: var(--ink); }
  .page-home .header-inner { height: 92px; }
  .page-home .menu-toggle { font-size: 14px; }
  .page-home .menu-panel-list a { font-size: clamp(38px,11vw,49px); }
  .menu-panel-list { gap: 13px; }
}
