/* Explore returns to the warm lilac, plum and iris of the v19 navigation. */
.site-menu {
  --menu22-paper: #f7efed;
  --menu22-ink: #312138;
  --menu22-iris: #5046e5;
  --menu22-muted: #76647e;
  width: 100%;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--menu22-ink);
  background: var(--menu22-paper);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-color: #b9a9c9 var(--menu22-paper);
}
.site-menu::backdrop { background: #312138b3; backdrop-filter: blur(8px); }
.site-menu[open] { animation: menu22-unfurl 300ms cubic-bezier(.22,.8,.2,1) both; }
.site-menu .menu22-surface {
  position: relative;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  overflow: clip;
  padding: 0 clamp(24px, 5vw, 88px);
}
.site-menu .menu22-atmosphere { position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden; }
.site-menu .menu22-atmosphere::before {
  content: ''; position:absolute; width:84vw;height:84vw;min-width:600px;min-height:600px;
  right:-30vw; top:-16vw; border-radius:50%;
  background:radial-gradient(ellipse at 46% 54%,#c8b9ec59 0%,#d6c9ed27 48%,transparent 69%);
  animation:menu22-breathe 13s ease-in-out infinite alternate;
}
.site-menu .menu22-halo { position:absolute;display:block;border:1px dotted #8c74c552;border-radius:50%; }
.site-menu .menu22-halo-one {
  width:75vw;height:75vw;right:-25vw;top:-5vw;
  box-shadow:0 0 120px #c4b2e718;transform:rotate(-24deg) scaleY(.89);
}
.site-menu .menu22-halo-two { width:63vw;height:63vw;right:-20vw;top:1vw;border-color:#8c74c52a;transform:rotate(23deg) scaleY(.9); }
.site-menu .menu22-dust {
  position:absolute;width:480px;height:480px;right:0;bottom:-180px;border-radius:50%;
  background-image:radial-gradient(circle,#7962a62e .8px,transparent 1px);background-size:13px 13px;
  mask-image:radial-gradient(circle,black 10%,transparent 65%);
  animation:menu22-drift 18s ease-in-out infinite alternate;
}
.site-menu .menu22-header {
  position:sticky;top:0;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  flex:none;z-index:4;
}
.site-menu .menu22-header::before {
  content:'';position:absolute;inset:0 calc(-1 * clamp(24px,5vw,88px)) -12px;z-index:-1;pointer-events:none;
  background:linear-gradient(var(--menu22-paper) 74%,#f7efed00);
}
.site-menu .menu22-brand { display:inline-block;flex-shrink:1;max-width:240px; }
.site-menu .menu22-brand img { display:block;width:240px;max-width:100%;height:auto;filter:none; }
.site-menu .menu-close {
  position:relative;top:auto;right:auto;display:inline-flex;flex:none;align-items:center;justify-content:center;gap:18px;
  min-height:52px;min-width:114px;margin:0;padding:13px 20px;border:0;
  border-radius:56% 44% 49% 51% / 48% 47% 53% 52%;
  background:#ffdb91;color:#37254b;font:inherit;font-size:16px;line-height:1;
  box-shadow:0 5px 22px #63464710;transform:rotate(-3deg);
  transition:transform 350ms,box-shadow 350ms,background 350ms;
}
.site-menu .menu-close span { font-size:26px;line-height:.8;font-weight:400; }
.site-menu .menu-close:hover { transform:rotate(0) translateY(-2px);box-shadow:0 8px 25px #63464720;background:#ffe2a5; }
.site-menu .menu22-layout {
  display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(25px,5vw,90px);
  align-items:center;flex:1;padding:clamp(20px,3vh,48px) 0 46px;
}
.site-menu .menu22-navigation { position:relative;z-index:2; }
.site-menu .menu22-primary { display:flex;flex-direction:column;align-items:flex-start;gap:8px; }
.site-menu .menu22-primary a {
  position:relative;display:inline-flex;align-items:center;gap:22px;max-width:100%;
  padding:5px 0;font-size:clamp(48px,5.5vw,86px);line-height:1.09;letter-spacing:-.055em;
  color:var(--menu22-ink);text-decoration:none;font-weight:400;
  transition:color 300ms,transform 500ms cubic-bezier(.2,.8,.2,1);
}
.site-menu .menu22-primary a:hover,.site-menu .menu22-primary a:focus-visible,.site-menu .menu22-primary a[aria-current=page] {
  color:var(--menu22-iris);transform:translateX(10px);
}
.site-menu .menu22-link-seed {
  width:.15em;height:.15em;min-width:8px;flex:none;border-radius:50%;background:var(--menu22-iris);
  opacity:0;transform:scale(.2);transition:opacity 300ms,transform 500ms cubic-bezier(.2,.8,.2,1);
}
.site-menu .menu22-primary a:is(:hover,:focus-visible,[aria-current=page]) .menu22-link-seed { opacity:1;transform:scale(1); }
.site-menu .menu22-secondary {
  display:grid;grid-template-columns:1fr 1.2fr;align-items:start;gap:17px 30px;
  max-width:620px;margin-top:48px;
}
.site-menu .menu22-secondary a {
  width:fit-content;position:relative;display:flex;align-items:center;min-height:44px;padding:6px 0;font-size:clamp(22px,1.9vw,29px);line-height:1.22;
  letter-spacing:-.025em;text-decoration:none;color:var(--menu22-ink);
  transition:color 250ms,transform 350ms;
}
.site-menu .menu22-secondary a:hover,.site-menu .menu22-secondary a:focus-visible,.site-menu .menu22-secondary a[aria-current=page] {
  color:var(--menu22-iris);transform:translateX(5px);
}
.site-menu .menu22-secondary a:last-child { color:var(--menu22-iris); }
.site-menu .menu22-field-space { position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0; }
.site-menu .menu22-field-intro {
  margin:0 0 15px 4%;font-size:clamp(25px,2.25vw,36px);line-height:1.18;letter-spacing:-.04em;
}
.site-menu .menu22-field-intro em { color:var(--menu22-iris);font-weight:400; }
.site-menu .menu22-fields { position:relative;width:100%;height:395px;isolation:isolate; }
.site-menu .menu22-field-orbit {
  position:absolute;left:13%;top:8%;width:73%;height:86%;border:1px dotted #8c74c54d;border-radius:50%;
  transform:rotate(34deg);pointer-events:none;z-index:-1;
}
.site-menu .menu22-field {
  position:absolute;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  min-height:137px;width:65%;padding:20px 30px;isolation:isolate;text-decoration:none;color:var(--menu22-ink);
  transition:transform 550ms cubic-bezier(.2,.8,.2,1),color 250ms;
}
.site-menu .menu22-field::before {
  position:absolute;content:'';inset:0;z-index:-1;border-radius:46% 54% 51% 49% / 53% 42% 58% 47%;
  background:#e6ddf988;box-shadow:0 3px 11px #52334f0a,inset 0 1px 1px #fff8;
  transform:rotate(-7deg);transition:background 400ms,transform 650ms cubic-bezier(.2,.8,.2,1),box-shadow 400ms;
}
.site-menu .menu22-field-name { font-size:clamp(33px,3.1vw,49px);line-height:1;letter-spacing:-.045em; }
.site-menu .menu22-field-detail { display:block;margin-top:11px;font-size:16px;line-height:1.35;letter-spacing:-.015em;color:#6d5a78; }
.site-menu .menu22-industry { top:4%;left:0;transform:rotate(-4deg); }
.site-menu .menu22-cities { top:33%;right:-2%;transform:rotate(4deg); }
.site-menu .menu22-cities::before { background:#eee4ee;transform:rotate(6deg); }
.site-menu .menu22-mobility { bottom:-1%;left:4%;transform:rotate(-3deg); }
.site-menu .menu22-mobility::before { background:#e2dcf5a6;transform:rotate(-3deg); }
.site-menu .menu22-field:hover,.site-menu .menu22-field:focus-visible { color:var(--menu22-iris);transform:rotate(0) translateY(-4px);z-index:2; }
.site-menu .menu22-field[aria-current=page] { color:var(--menu22-iris); }
.site-menu .menu22-field[aria-current=page]::before { background:#dcd0f6;box-shadow:0 0 0 1px #8c74c566,inset 0 1px 1px #fff8; }
.site-menu .menu22-field:hover::before,.site-menu .menu22-field:focus-visible::before {
  background:#dcd0f6;transform:rotate(1deg) scale(1.045);box-shadow:0 12px 32px #66499710,inset 0 1px 1px #fff8;
}
.site-menu .menu22-footer {
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0 28px;
}
.site-menu .menu22-footer p { margin:0;font-size:19px;line-height:1.3;letter-spacing:-.025em;color:#76647e; }
.site-menu .menu22-footer p em { color:var(--menu22-iris); }
.site-menu .motion-control {
  margin:0;padding:10px 0 10px 18px;min-height:44px;border:0;background:transparent;
  color:#76647e;font:inherit;font-size:15px;line-height:1.2;position:relative;
}
.site-menu .motion-control::before { content:'';position:absolute;left:0;top:calc(50% - 3px);width:6px;height:6px;background:#8c74c5;border-radius:50%; }
.site-menu .motion-control[aria-pressed=true]::before { background:transparent;border:1px solid #8c74c5; }
.site-menu :is(a,button):focus-visible { outline:2px solid var(--menu22-iris);outline-offset:6px;border-radius:6px; }
.site-menu .menu-close:focus-visible,.site-menu .menu22-field:focus-visible { border-radius:45%; }
/* The entire hit surface exists immediately; an opening animation must never
   clip links away while a visitor is already trying to use them. */
@keyframes menu22-unfurl { from{opacity:.86;transform:translateY(6px)}to{opacity:1;transform:none} }
@keyframes menu22-breathe { from{transform:translate(-1%,0) scale(.95)}to{transform:translate(2%,3%) scale(1.05)} }
@keyframes menu22-drift { from{transform:translate(0,0) rotate(-5deg)}to{transform:translate(-25px,-15px) rotate(8deg)} }
@media (min-width:1500px) {
  .site-menu .menu22-layout { max-width:1600px;width:100%;margin:0 auto; }
  .site-menu .menu22-fields { max-width:580px;height:440px; }
}
@media (max-width:1050px) {
  .site-menu .menu22-layout { grid-template-columns:1.12fr .88fr;gap:20px; }
  .site-menu .menu22-primary a { font-size:clamp(46px,5.8vw,64px);gap:13px; }
  .site-menu .menu22-secondary { grid-template-columns:1fr;gap:13px;margin-top:30px; }
  .site-menu .menu22-secondary a { font-size:24px; }
  .site-menu .menu22-field { width:83%;padding:20px 25px; }
  .site-menu .menu22-fields { height:420px; }
  .site-menu .menu22-field-intro { font-size:28px;margin-left:0; }
  .site-menu .menu22-cities { right:-3%; }
  .site-menu .menu22-field-detail { font-size:15px; }
}
@media (max-width:650px) {
  .site-menu .menu22-surface { padding:0 24px; }
  .site-menu .menu22-header { min-height:92px;gap:16px; }
  .site-menu .menu22-brand { max-width:190px; }
  .site-menu .menu-close { min-width:91px;min-height:46px;padding:12px 14px;gap:10px;font-size:15px; }
  .site-menu .menu-close span { font-size:24px; }
  .site-menu .menu22-layout { grid-template-columns:1fr;gap:28px;padding:22px 0 20px; }
  .site-menu .menu22-primary { gap:5px; }
  .site-menu .menu22-primary a { font-size:clamp(40px,10.8vw,64px);padding:4px 0;gap:14px; }
  .site-menu .menu22-secondary { grid-template-columns:1fr 1.15fr;gap:8px 20px;margin-top:25px; }
  .site-menu .menu22-secondary a { font-size:clamp(20px,5.6vw,26px); }
  .site-menu .menu22-field-space { padding-top:12px; }
  .site-menu .menu22-field-intro { font-size:29px;margin:0 0 14px; }
  .site-menu .menu22-field-intro br { display:none; }
  .site-menu .menu22-field-intro em { display:block; }
  .site-menu .menu22-fields { height:340px;max-width:440px;margin:0 auto; }
  .site-menu .menu22-field { min-height:117px;width:69%;padding:18px 24px; }
  .site-menu .menu22-field-name { font-size:35px; }
  .site-menu .menu22-field-detail { font-size:14px;margin-top:8px; }
  .site-menu .menu22-industry { top:0;left:0; }
  .site-menu .menu22-cities { top:33%;right:0; }
  .site-menu .menu22-mobility { bottom:0;left:0; }
  .site-menu .menu22-halo-one { width:175vw;height:175vw;right:-97vw;top:20vw; }
  .site-menu .menu22-halo-two { width:155vw;height:155vw;right:-87vw;top:30vw; }
  .site-menu .menu22-atmosphere::before { right:-100vw;top:30vw; }
  .site-menu .menu22-footer { padding:18px 0 22px;gap:12px; }
  .site-menu .menu22-footer p { font-size:17px; }
  .site-menu .motion-control { font-size:14px;flex:none; }
}
.motion-paused .site-menu[open] { animation:none!important;opacity:1;transform:none; }
.motion-paused .site-menu .menu22-atmosphere::before,
.motion-paused .site-menu .menu22-dust { animation-play-state:paused!important; }
@media (max-width:359px) {
  .site-menu .menu22-surface { padding:0 20px; }
  .site-menu .menu22-brand { max-width:164px; }
  .site-menu .menu-close { min-width:82px;padding:12px;gap:8px;font-size:14px; }
  .site-menu .menu22-secondary { gap:16px 16px; }
  .site-menu .menu22-secondary a { font-size:20px; }
  .site-menu .menu22-field { width:77%; }
  .site-menu .menu22-footer p { font-size:15px; }
}
@media (prefers-reduced-motion:reduce) {
  .site-menu[open],.site-menu .menu22-atmosphere::before,.site-menu .menu22-dust { animation:none; }
  .site-menu :is(a,button),.site-menu .menu22-field::before,.site-menu .menu22-link-seed { transition:none; }
}
