/* Identity: a kit in the middle of every connection. */
.brand{display:inline-flex;align-items:center;flex-shrink:0;line-height:1;color:var(--ink,#eef2f7)}
.brand .brand__wordmark{display:block;width:var(--logo-width,150px);height:auto;overflow:visible}
.brand__image{display:block;width:var(--logo-width,150px);height:auto;object-fit:contain}
.brand__chip{fill:var(--blue,#0a7cff)}
.brand__led{fill:var(--blue,#0a7cff)}
.brand__pins{color:var(--blue,#0a7cff)}
.brand__signal-track{stroke:var(--blue,#0a7cff);opacity:0}
.brand__signal{stroke:var(--yellow,#ff7a00);stroke-dasharray:8 92;stroke-dashoffset:100;animation:brand-current 5.5s linear infinite;opacity:0}
.brand:hover .brand__signal,.brand:focus-visible .brand__signal{opacity:1}
body[data-experience=lab] .brand__signal{opacity:1;animation-duration:3.8s}
body[data-experience=lab] .brand__signal-track{opacity:.13}
@keyframes brand-current{to{stroke-dashoffset:-100}}

/* A precision toolbar. Native links and details remain usable without scripts. */
.shopify-section-group-header-group:has(.site-header),.header-section{position:sticky;top:0;z-index:80}
.site-header{position:relative;background:#12161d;color:var(--ink,#eef2f7);border-bottom:1px solid #071c5217;transition:box-shadow .25s}
.site-header:after{content:"";position:absolute;bottom:-1px;left:0;height:2px;width:var(--page-progress,0%);background:var(--blue,#0a7cff);pointer-events:none}
.site-header.is-scrolled{box-shadow:0 6px 30px #0000000d}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:30px}
.site-header .brand{padding-block:7px}
.main-nav{display:flex;align-items:center;gap:clamp(16px,2.3vw,34px);margin-left:auto}
.main-nav>a,.nav-dropdown>summary{position:relative;display:flex;align-items:center;gap:8px;min-height:48px;font-size:13px;line-height:1.2;font-weight:650;white-space:nowrap;transition:color .2s}
.nav-index{align-self:center;position:relative;top:-3px;font:.75rem/1 var(--font-mono);font-weight:400;color:#a7b1c2}
.main-nav>a:after,.nav-dropdown>summary:after{content:"";position:absolute;bottom:4px;left:19px;right:0;height:2px;background:var(--blue,#0a7cff);transform:scaleX(0);transform-origin:left;transition:transform .24s}
.main-nav>a:hover,.main-nav>a[aria-current],.nav-dropdown>summary:hover{color:var(--blue,#0a7cff)}
.main-nav>a:hover:after,.main-nav>a[aria-current]:after,.nav-dropdown[open]>summary:after{transform:scaleX(1)}
.nav-dropdown{position:relative}
.nav-dropdown>summary{cursor:pointer;list-style:none}
.nav-dropdown>summary::-webkit-details-marker,.mobile-nav>summary::-webkit-details-marker{display:none}
.nav-dropdown>summary svg{width:12px;height:12px;transition:transform .2s}
.nav-dropdown[open]>summary svg{transform:rotate(45deg)}
.nav-dropdown__panel{position:absolute;top:calc(100% + 15px);left:-24px;min-width:240px;max-width:340px;padding:12px;background:#12161d;border:1px solid #071c521f;box-shadow:8px 12px 0 #0000000d}
.nav-dropdown__panel>a{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:43px;padding:10px 12px;font-size:14px;font-weight:550;border-bottom:1px solid #071c5210}
.nav-dropdown__panel>a:last-child{border:0}
.nav-dropdown__panel>a:hover,.nav-dropdown__panel>a[aria-current]{color:var(--blue,#0a7cff);background:var(--surface,#0b0d11)}
.nav-dropdown__panel .nav-dropdown__child{padding-left:26px;font-size:12px;color:#a7b1c2}
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.header-actions .header-donate{min-height:42px;padding:10px 18px;gap:24px;border-radius:4px;font-size:13px;background:var(--yellow,#ff7a00);color:var(--ink,#0b0d11)}
.header-donate svg{width:16px;height:16px;transition:transform .2s}
.header-donate:hover svg{transform:translate(2px,-2px)}
.mobile-nav{display:none}
.mobile-nav__toggle{display:grid;place-items:center;list-style:none;width:44px;height:44px;cursor:pointer;border:1px solid #071c5226;border-radius:4px;background:#12161d}
.menu-switch{display:block;width:18px;height:13px;position:relative}
.menu-switch i{display:block;width:18px;height:2px;position:absolute;left:0;top:2px;background:currentColor;transition:transform .25s,top .25s}
.menu-switch i:last-child{top:10px}
.mobile-nav[open] .menu-switch i{top:6px;transform:rotate(45deg)}
.mobile-nav[open] .menu-switch i:last-child{transform:rotate(-45deg)}
.mobile-nav__panel{position:absolute;top:100%;left:0;right:0;background:var(--blue-deep,#071c52);color:#ffffff;padding:28px max(24px,5vw) 34px;max-height:calc(100dvh - 68px);overflow:auto;box-shadow:0 24px 36px #00000033}
.mobile-nav__label{display:block;margin-bottom:17px;font:.75rem/1.5 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#9db6ff}
.mobile-nav__panel nav{margin-bottom:24px}
.mobile-nav__panel nav a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:63px;padding:16px 0;border-bottom:1px solid #ffffff26;font-size:clamp(20px,6vw,28px);font-weight:600;line-height:1.1;letter-spacing:-.03em}
.mobile-nav__panel nav a>span{display:flex;align-items:center;gap:18px}
.mobile-nav__panel nav small{font:.75rem/1 var(--font-mono);letter-spacing:0;color:#9db6ff}
.mobile-nav__panel nav a>svg{width:20px;height:20px;flex-shrink:0;color:var(--yellow,#ff7a00)}
.mobile-nav__panel nav .mobile-nav__child{padding-left:32px;min-height:44px;font-size:16px;letter-spacing:0;color:#d4dfff}
.mobile-nav__panel nav .mobile-nav__grandchild{padding-left:48px;min-height:44px;font-size:14px;letter-spacing:0;color:#d4dfff}
.mobile-nav__panel a[aria-current]{color:var(--yellow,#ff7a00)}
.mobile-nav__panel :focus-visible{outline-color:var(--yellow,#ff7a00)}
.mobile-nav__panel>.button{width:100%;justify-content:space-between}
.announcement-bar{padding:9px 24px;background:var(--blue-deep,#071c52);color:#ffffff;text-align:center;font-size:12px;line-height:1.4}
.announcement-bar a{text-decoration:underline;text-underline-offset:3px}

/* A final, oversized circuit signature. */
.site-footer{position:relative;overflow:hidden;background:var(--blue-deep,#071c52);color:#ffffff;padding-top:80px}
.site-footer>.shell{position:relative}
.footer-circuit{position:absolute;inset:0;width:100%;height:100%;stroke:#6b94ff;stroke-width:1;opacity:.15;pointer-events:none}
.footer-circuit__pulse{stroke:var(--yellow,#ff7a00);stroke-width:3;stroke-dasharray:5 95;animation:brand-current 18s linear infinite;opacity:0}
body[data-experience=lab] .footer-circuit{opacity:.3}
body[data-experience=lab] .footer-circuit__pulse{opacity:1}
.site-footer__main{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:55px}
.site-footer__brand p{font-family:var(--font-heading,Arial,sans-serif);font-size:clamp(28px,3.4vw,48px);font-weight:600;line-height:1.04;letter-spacing:-.045em;max-width:450px}
.footer-signal{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:#adbeea;font:.75rem/1.5 var(--font-mono);letter-spacing:.07em;text-transform:uppercase}
.footer-signal>span{width:6px;height:6px;border-radius:50%;background:var(--yellow,#ff7a00);box-shadow:0 0 13px #ff7a0077;flex-shrink:0}
.site-footer__nav,.site-footer__connect{display:flex;flex-direction:column;align-items:flex-start}
.site-footer h2{font:.75rem/1.5 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:#adbeea;margin-bottom:14px}
.site-footer__nav>a,.site-footer__connect>a{min-height:36px;display:inline-flex;align-items:center;font-size:16px;line-height:1.25;color:#ffffff;transition:color .2s,transform .2s}
.site-footer__nav>a:hover,.site-footer__connect>a:hover{color:var(--yellow,#ff7a00);transform:translateX(4px)}
.site-footer__connect .footer-donate{gap:12px;text-decoration:none;color:var(--yellow,#ff7a00)}
.footer-donate svg{width:14px;height:14px}
.site-footer .brand--footer{display:block;width:100%;margin:55px auto 32px;color:#ffffff;padding:6px 0 0}
.site-footer .brand--footer .brand__wordmark{width:100%;height:auto;max-height:300px}
.brand--footer .brand__chip{fill:var(--blue,#0a7cff)}
.brand--footer .brand__pins{color:#6d93ff}
.brand--footer .brand__led{fill:var(--yellow,#ff7a00)}
.brand--footer .brand__signal-track{stroke:#ffffff}
.brand--footer .brand__image{width:min(100%,650px);max-height:300px;object-fit:contain;margin-inline:auto}
.site-footer__bottom{display:flex;align-items:center;gap:22px;min-height:74px;padding:20px 0 24px;border-top:1px solid #ffffff25;color:#adbeea;font:.75rem/1.4 var(--font-mono)}
.site-footer__bottom p{margin-right:auto;font:inherit}
.site-footer__legal{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.site-footer__legal:empty{display:none}
.site-footer__legal a:hover{color:#ffffff}
.site-footer__end{display:flex;align-items:center;gap:10px;white-space:nowrap}
.site-footer__end i{font-size:17px;line-height:1;color:var(--yellow,#ff7a00);font-style:normal}
.motion-toggle{padding:8px 0;min-height:36px;color:inherit;background:none;border:0;font:inherit;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.motion-toggle[hidden]{display:none}
.site-footer :focus-visible{outline-color:var(--yellow,#ff7a00)}

/* Contact-sheet photography. Frame registration survives any merchant photograph. */
.media-frame{--media-ratio:4/3;--media-accent:var(--blue,#0a7cff);position:relative;isolation:isolate;overflow:hidden;aspect-ratio:var(--media-ratio);width:100%;color:var(--media-accent);background:#0b0d11}
.media-frame__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.media-frame--has-image:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#071c523b,transparent 22%,transparent 75%,#071c5226)}
.media-frame:hover .media-frame__image{transform:scale(1.035)}
.media-frame__register{position:absolute;z-index:3;inset:18px 22px auto;display:flex;align-items:center;justify-content:space-between;gap:14px;font:.75rem/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;pointer-events:none}
.media-frame--has-image .media-frame__register{color:#ffffff;text-shadow:0 1px 4px #00000099}
.media-frame__corner{position:absolute;z-index:3;width:12px;height:12px;border-color:currentColor;border-style:solid;border-width:0;pointer-events:none}
.media-frame--has-image .media-frame__corner{color:#ffffff}
.media-frame__corner--tl{top:9px;left:9px;border-top-width:2px;border-left-width:2px}
.media-frame__corner--tr{top:9px;right:9px;border-top-width:2px;border-right-width:2px}
.media-frame__corner--bl{bottom:9px;left:9px;border-bottom-width:2px;border-left-width:2px}
.media-frame__corner--br{bottom:9px;right:9px;border-bottom-width:2px;border-right-width:2px}
.media-placeholder{position:absolute;inset:0;background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:70px 70px;background-blend-mode:soft-light;background-color:#0b0d11}
.media-placeholder:before{content:"";position:absolute;inset:0;background:#0b0d11;opacity:.91}
.media-placeholder:after{content:"";position:absolute;left:0;right:0;top:16%;height:1px;background:currentColor;box-shadow:0 0 14px currentColor;opacity:0;pointer-events:none}
.media-placeholder__index{position:absolute;top:10%;left:5%;font-family:var(--font-heading,Arial,sans-serif);font-size:clamp(85px,14vw,190px);font-weight:700;line-height:1;letter-spacing:-.035em;opacity:.06}
.media-placeholder__drawing{position:absolute;inset:0;width:100%;height:100%;opacity:.64}
.media-placeholder__planes{transform-origin:50% 50%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.media-placeholder__aperture{transform-origin:50% 50%;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.media-frame:hover .media-placeholder__planes{transform:rotate(-6deg) scale(1.035)}
.media-frame:hover .media-placeholder__aperture{transform:rotate(30deg)}
.media-placeholder__caption{position:absolute;left:22px;right:22px;bottom:19px;display:flex;align-items:end;justify-content:space-between;gap:20px;font-size:14px;font-weight:600;line-height:1.15;letter-spacing:-.02em}
.media-placeholder__caption>span:first-child{max-width:75%}
.media-placeholder__caption>span:last-child{font-size:24px;font-weight:400}
.media-placeholder__editor{position:absolute;inset:auto 20px 48px;z-index:4;margin:0;background:#12161d;color:#071c52;padding:8px 10px;font-size:.75rem;line-height:1.3;box-shadow:0 2px 12px #00000015}
.media-frame--program{--media-ratio:5/4;background:#0b0d11}
.media-frame--program .media-placeholder,.media-frame--program .media-placeholder:before{background-color:#0b0d11}
.media-frame--partner{--media-ratio:5/4;--media-accent:#ffffff;background:var(--blue,#0a7cff)}
.media-frame--partner .media-placeholder,.media-frame--partner .media-placeholder:before{background-color:var(--blue,#0a7cff)}
.media-frame--partner .media-placeholder__index{font-size:clamp(130px,27vw,320px);opacity:.08}
.media-frame--partner .media-placeholder__drawing{opacity:.68;transform:scale(1.15) rotate(-8deg)}
.media-frame--partner .media-placeholder__planes{fill:#12161d;fill-opacity:.08}
.media-frame--partner .media-placeholder__caption{font-size:20px;max-width:85%}
.media-frame--resource{--media-ratio:16/10;--media-accent:#071c52;background:#ff7a00}
.media-frame--resource .media-placeholder,.media-frame--resource .media-placeholder:before{background-color:var(--yellow,#ff7a00)}
.media-frame--resource .media-placeholder__drawing{opacity:.55;transform:scale(.92)}
.media-frame--resource .media-placeholder__planes{display:none}
.media-frame--about{--media-ratio:16/9}
.media-frame--about .media-placeholder__drawing{transform:scale(.85)}
body[data-experience=lab] .media-placeholder:after{animation:media-scan 7s ease-in-out infinite;opacity:.35}
@keyframes media-scan{0%,100%{top:16%;opacity:0}20%,80%{opacity:.3}50%{top:84%}}

@media(min-width:901px) and (max-width:1160px){.site-header__inner{gap:20px}.main-nav{gap:18px}.main-nav>a,.nav-dropdown>summary{font-size:12px}.nav-index{display:none}.main-nav>a:after,.nav-dropdown>summary:after{left:0}.header-actions .header-donate{gap:14px;padding-inline:14px}}
@media(max-width:900px){.main-nav{display:none}.mobile-nav{display:block}.site-header__inner{min-height:68px;gap:20px}.site-footer__main{grid-template-columns:1.4fr 1fr 1fr;gap:32px}.site-footer__bottom{flex-wrap:wrap;gap:12px 22px}.site-footer__bottom>p{flex-basis:100%}.site-footer__end{margin-left:auto}}
@media(max-width:600px){.site-header__inner{min-height:68px;gap:12px}.site-header .brand__wordmark,.site-header .brand__image{width:min(var(--logo-width,150px),130px);max-width:calc(100vw - 194px)}.header-actions{gap:8px}.header-actions .header-donate{min-height:40px;padding:10px 12px;gap:12px;font-size:12px}.header-donate svg{width:14px;height:14px}.mobile-nav__toggle{width:40px;height:40px}.site-footer{padding-top:55px}.site-footer__main{grid-template-columns:1fr 1fr;gap:35px 30px}.site-footer__brand{grid-column:1/-1}.site-footer__brand p{font-size:37px}.footer-signal{margin-bottom:15px}.site-footer__nav>a,.site-footer__connect>a{font-size:15px;min-height:36px}.site-footer .brand--footer{margin-top:38px;margin-bottom:25px}.site-footer__bottom{padding-bottom:24px;font-size:.75rem}.site-footer__end{display:none}.media-frame__register{inset:17px 19px auto;font-size:.75rem}.media-placeholder__caption{left:19px;right:19px;bottom:17px;font-size:12px}.media-frame--partner .media-placeholder__caption{font-size:17px}.media-frame--about{--media-ratio:4/3}}
@media(max-width:360px){.site-header__inner{gap:8px}.header-actions .header-donate{gap:8px;padding-inline:10px}.site-header .brand__wordmark,.site-header .brand__image{width:110px}}
body[data-experience=standard] .brand__signal,body[data-experience=standard] .footer-circuit__pulse,body[data-experience=standard] .media-placeholder:after,body[data-circuit=false] .brand__signal,body[data-circuit=false] .footer-circuit__pulse,body[data-background=false] .footer-circuit__pulse,body[data-background=false] .media-placeholder:after{animation:none;opacity:0}
body.is-motion-paused .brand__signal,body.is-motion-paused .footer-circuit__pulse,body.is-motion-paused .media-placeholder:after{animation-play-state:paused}
body[data-experience=standard] .media-frame:hover .media-placeholder__planes,body[data-experience=standard] .media-frame:hover .media-placeholder__aperture,body[data-cursor=false] .media-frame:hover .media-placeholder__planes,body[data-cursor=false] .media-frame:hover .media-placeholder__aperture{transform:none}
@media(max-width:600px){body[data-reduce-mobile=true] .brand__signal,body[data-reduce-mobile=true] .footer-circuit__pulse,body[data-reduce-mobile=true] .media-placeholder:after{animation:none;opacity:0}}
@media(prefers-reduced-motion:reduce){.brand__signal,.footer-circuit__pulse,.media-placeholder:after{animation:none!important;opacity:0!important}.media-frame:hover .media-placeholder__planes,.media-frame:hover .media-placeholder__aperture,.media-frame:hover .media-frame__image{transform:none}.brand *,.site-header *,.site-footer *,.media-frame *{transition:none!important}}
