/* Shared chrome for the homepage and /data: global nav, mobile menu, footer,
   buttons, skip link and reduced-motion. Classes are g-prefixed so they never
   collide with a page's own styles. /manufacturing keeps its inline copy. */
:root{--black:#0A0A0A;--dark:#121212;--card:#1C1C1C;--db:#2A2A2A;--off:#F5F4EF;--ls:#ECEAE3;--lb:#D9D8D1;--muted:#5E5E5E;--secondary:#9A9A94;--blue:#1F5EFF;--blue-hi:#3A72FF;--sans:'IBM Plex Sans',Arial,sans-serif;--mono:'IBM Plex Mono',Arial,monospace;--ease-out:cubic-bezier(.2,.7,.2,1)}

.g-skip{position:fixed;left:16px;top:-64px;z-index:10000;padding:12px 16px;background:var(--blue);color:var(--off);font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:top .15s ease}.g-skip:focus{top:16px}

.gnav{position:fixed;inset:0 0 auto 0;z-index:100;height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 32px;background:rgba(10,10,10,0);border-bottom:1px solid rgba(255,255,255,0);transition:background .35s ease,border-color .35s ease}
.gnav.is-solid{background:rgba(10,10,10,.96);border-bottom-color:rgba(255,255,255,.08)}
.gnav-logo{display:inline-flex;align-items:center;color:var(--off)}.gnav-logo svg{display:block;height:24px;width:auto;aspect-ratio:473.43/100}
.gnav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.gnav-links a{position:relative;padding-bottom:4px;font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary);text-decoration:none;transition:color .2s ease}
.gnav-links a:hover,.gnav-links a[aria-current="page"]{color:var(--off)}
.gnav-links a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease-out)}.gnav-links a:hover:after,.gnav-links a:focus-visible:after,.gnav-links a[aria-current="page"]:after{transform:scaleX(1)}

.gbtn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:1px solid transparent;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .1s ease,background .2s ease,border-color .2s ease,color .2s ease}
.gbtn:active{transform:scale(.97)}
.gbtn-primary{background:var(--blue);border-color:var(--blue);color:var(--off)}.gbtn-primary:hover{background:var(--blue-hi);border-color:var(--blue-hi)}
.gbtn-secondary{background:transparent;border-color:rgba(255,255,255,.18);color:var(--off)}.gbtn-secondary:hover{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.04)}
.gnav .gbtn{min-height:40px;padding:0 16px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

.gburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;background:none;border:1px solid rgba(255,255,255,.12);cursor:pointer;z-index:102}
.gburger span{display:block;width:18px;height:1.5px;background:var(--off);transition:transform .25s ease,opacity .2s ease}
.gburger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.gburger[aria-expanded="true"] span:nth-child(2){opacity:0}.gburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.gmenu{position:fixed;inset:0;z-index:101;display:flex;flex-direction:column;justify-content:center;padding:0 24px;background:var(--black);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s var(--ease-out),transform .25s var(--ease-out),visibility .25s}
.gmenu.is-open{opacity:1;visibility:visible;transform:none}
.gmenu a{display:block;width:100%;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.06);font-family:var(--mono);font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary);text-decoration:none;opacity:0;transform:translateY(6px);transition:color .2s ease,opacity .25s var(--ease-out),transform .25s var(--ease-out)}
.gmenu.is-open a{opacity:1;transform:none}.gmenu a:hover,.gmenu a[aria-current="page"]{color:var(--off)}
.gmenu .gbtn{margin-top:24px;border-bottom:none;color:var(--off)}

.gfoot{background:var(--black);color:var(--off);border-top:1px solid var(--db)}
.gfoot-in{width:min(1180px,100%);margin:0 auto;padding:26px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px}
.gfoot-in svg{display:block;height:22px;width:auto;aspect-ratio:473.43/100}
.gfoot-links{display:flex;flex-wrap:wrap;gap:12px 18px;list-style:none;margin:0;padding:0}
.gfoot-links a{font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary);text-decoration:none}.gfoot-links a:hover{color:var(--off)}
.gfoot-copy{font-size:12px;color:var(--secondary)}

@media (max-width:900px){.gnav-links,.gnav>.gbtn{display:none}.gburger{display:flex}}
@media (max-width:760px){.gnav{padding:0 18px}.gfoot-in{flex-direction:column;align-items:flex-start;padding:26px 18px}.gfoot-links{gap:0 16px}.gfoot-links a{display:inline-flex;align-items:center;min-height:44px;letter-spacing:.1em}}

@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}.gbtn:active{transform:none}}
.gfoot{padding:0}

/* Smooth crossfade between pages (browsers without support just navigate normally) */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
/* Audit fixes: 44px logo tap target */
.gnav-logo{padding:11px 0}
