/* One authoritative NAVIGATION component, isolated in Shadow DOM.
   Host-page Tailwind, reset, inline CSS and subpage CSS cannot override it. */
:host { display:block; color:#fff; font:12px/1.5 Inter,'Noto Sans JP',Arial,sans-serif; }
/* One authoritative, component-scoped navbar design. Independent of page Tailwind preflight. */
:host .vp-global-nav {
  position:fixed; inset:0 0 auto; z-index:60; width:100%;
  padding:16px clamp(10px,2vw,32px) 0; pointer-events:none;
  font-family:'Inter','Noto Sans JP',Arial,sans-serif; font-size:12px; line-height:1.5;
  letter-spacing:normal; color:#fff; text-align:left;
}
:host .vp-global-nav,
:host .vp-global-nav *,
:host .vp-global-nav *::before,
:host .vp-global-nav *::after { box-sizing:border-box; }
:host .vp-global-nav .framer-pill-nav {
  width:100%; max-width:1152px; margin-left:auto; margin-right:auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:8px; padding:8px 12px 8px 16px; border-radius:999px;
  pointer-events:auto; background:rgba(10,10,12,.76);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 50px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.12);
}
:host .vp-global-nav a { text-decoration:none; }
:host .vp-global-nav .framer-pill-nav > a:first-child {
  display:flex; align-items:center; gap:12px; min-width:0; flex:0 1 auto;
  padding:4px 8px 4px 4px; border-radius:999px; color:#fff;
}
:host .vp-global-nav .framer-pill-nav > a:first-child > div:first-child {
  flex:none; width:32px; height:32px; border-radius:50%; background:#fff; color:#000;
  display:flex; align-items:center; justify-content:center;
  font-family:'Plus Jakarta Sans','Inter',sans-serif;
  font-weight:800;font-size:12px;letter-spacing:-.04em;
  box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .3s;
}
:host .vp-global-nav .framer-pill-nav > a:first-child:hover > div:first-child { transform:scale(1.05); }
:host .vp-global-nav .framer-pill-nav > a:first-child > div:last-child { min-width:0; display:none; }
:host .vp-global-nav .framer-pill-nav > a:first-child > div:last-child > div { display:flex;align-items:center;gap:8px; }
:host .vp-global-nav .framer-pill-nav > a:first-child > div:last-child span:first-child {
  font-family:'Plus Jakarta Sans','Inter','Noto Sans JP',sans-serif;
  font-weight:600;font-size:12px;letter-spacing:-.03em;color:#fff;white-space:nowrap;
}
:host .vp-global-nav .framer-pill-nav > a:first-child > div:last-child span:last-child {
  white-space:nowrap; font-family:'JetBrains Mono',monospace; font-size:10px;
  padding:2px 6px; border-radius:4px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);color:#e4e4e7;
}
:host .vp-global-nav #pill-nav-container {
  display:none;position:relative;flex:0 1 auto;align-items:center;min-width:0;
  padding:4px; border-radius:999px;background:rgba(0,0,0,.5);
  border:1px solid rgba(255,255,255,.06);
}
:host .vp-global-nav #nav-slider-pill {
  position:absolute;top:4px;bottom:4px;border-radius:999px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);
  pointer-events:none;transition:left .3s cubic-bezier(.16,1,.3,1),width .3s cubic-bezier(.16,1,.3,1);
}
:host .vp-global-nav #pill-nav-container .nav-link {
  position:relative;z-index:1;display:inline-flex;flex:none;align-items:center;
  padding:6px .64rem;border-radius:999px;font-size:12px;font-weight:500;
  line-height:1.5;white-space:nowrap;word-break:keep-all;color:#8a8f98;
  background:transparent;transition:color .2s;
}
:host .vp-global-nav #pill-nav-container .nav-link:hover,
:host .vp-global-nav #pill-nav-container .nav-link[aria-current="page"] { color:#fff; }
:host .vp-global-nav .framer-pill-nav > div:last-child {
  display:flex;flex:none;align-items:center;gap:8px;
}
:host .vp-global-nav .framer-pill-nav > div:last-child > div[role="group"] {
  display:inline-flex;align-items:center; padding:2px; border-radius:999px;
  background:rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.1);
}
:host .vp-global-nav button {
  -webkit-appearance:none;appearance:none;cursor:pointer;margin:0;
  font-family:inherit;line-height:1.5;letter-spacing:normal;
}
:host .vp-global-nav [data-vp-switch-locale] {
  flex:none; padding:4px 10px;min-height:24px;border:0;border-radius:999px;
  font-family:'JetBrains Mono','Noto Sans JP',monospace;font-size:11px;
  font-weight:500;white-space:nowrap;
  background:transparent;color:#8a8f98;
  transition:background .2s,color .2s;
}
:host .vp-global-nav [data-vp-switch-locale][aria-pressed="true"] {
  background:#fff;color:#000;font-weight:600;
}
:host .vp-global-nav [data-vp-switch-locale][aria-pressed="false"] {
  background:transparent;color:#8a8f98;font-weight:500;
}
:host .vp-global-nav [data-vp-switch-locale][aria-pressed="false"]:hover { color:#fff; }
:host .vp-global-nav [data-vp-vcard] {
  display:none;align-items:center;gap:6px;flex:none;padding:6px 12px;
  border-radius:999px;font-size:12px;font-weight:500;color:#fff;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .25s cubic-bezier(.16,1,.3,1),background .25s,border-color .25s;
}
:host .vp-global-nav [data-vp-vcard]:hover {
  background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);transform:translateY(-1px);
}
:host .vp-global-nav .vp-nav-toggle {
  display:inline-flex;flex:none;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  color:#e4e4e7;
}
:host .vp-global-nav .vp-nav-toggle:hover,
:host .vp-global-nav .vp-nav-toggle[aria-expanded="true"] { color:#fff; }
:host .vp-global-nav #mobile-nav-drawer {
  display:none;width:100%;max-width:1152px;margin:8px auto 0;
  padding:16px;max-height:min(73vh,500px);overflow-y:auto;
  border-radius:24px;pointer-events:auto;
  background:rgba(10,10,12,.9);border:1px solid rgba(255,255,255,.1);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  box-shadow:0 20px 50px rgba(0,0,0,.8);
}
:host .vp-global-nav #mobile-nav-drawer:not(.hidden) { display:block; }
:host .vp-global-nav #mobile-nav-drawer > div {
  display:grid;grid-template-columns:minmax(0,1fr);gap:6px;
}
:host .vp-global-nav #mobile-nav-drawer a {
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;padding:10px 16px;border-radius:16px;
  font-size:12px;font-weight:500;line-height:1.5;color:#d4d4d8;
  word-break:normal;overflow-wrap:break-word;line-break:strict;
}
:host .vp-global-nav #mobile-nav-drawer a:hover,
:host .vp-global-nav #mobile-nav-drawer a[aria-current="page"] {
  background:rgba(255,255,255,.06);color:#fff;
}
:host .vp-global-nav #mobile-nav-drawer a i,
:host .vp-global-nav #mobile-nav-drawer a > span:last-child {flex:none;}
:host .vp-global-nav .framer-pill-nav button:focus-visible,
:host .vp-global-nav a:focus-visible,
:host .vp-global-nav #mobile-nav-drawer a:focus-visible {
  outline:2px solid #fff;outline-offset:3px;
}
:host .vp-global-nav.vp-nav-condensed #pill-nav-container { display:none!important; }
:host .vp-global-nav.vp-nav-condensed .vp-nav-toggle {display:inline-flex!important;}
@media(min-width:640px){
  :host .vp-global-nav .framer-pill-nav > a:first-child > div:last-child{display:block;}
  :host .vp-global-nav #mobile-nav-drawer > div{grid-template-columns:repeat(2,minmax(0,1fr));}
  :host .vp-global-nav #mobile-nav-drawer a[data-vp-nav-item="contact"]{grid-column:span 2;}
}
@media(min-width:768px){
  :host .vp-global-nav [data-vp-vcard] {display:inline-flex;}
}
@media(min-width:1200px){
  :host .vp-global-nav #pill-nav-container {display:flex;}
  :host .vp-global-nav .vp-nav-toggle {display:none;}
}
@media(max-width:650px){
  :host .vp-global-nav{padding-left:10px;padding-right:10px;}
  :host .vp-global-nav .vp-nav-toggle{width:36px;height:36px;}
}
@media(print){:host .vp-global-nav{display:none!important;}}
