/* The navigation is a small exhibition of the product, with a single motion language. */
:root{--motion-fast:180ms;--motion-medium:320ms;--motion-reading:650ms;--motion-ease:cubic-bezier(.2,.7,.2,1)}
@media(min-width:851px) and (max-width:1280px){.hero-photo.hero-scene .scene-assembly{width:106%;left:-3%}.service-learn .service-art img,.service-make .service-art img{width:104%;left:-2%}}
.site-header{height:94px;padding-inline:42px;gap:20px;background:#fcfdfff2;border-bottom:1px solid #dce4f2;backdrop-filter:blur(16px);box-shadow:0 1px 0 #fff;transition:background-color 220ms,box-shadow 220ms}
.site-header.is-scrolled,.site-header.drawer-open{background:#fffffff5;border-bottom-color:#d3dff2;box-shadow:0 5px 24px #1631670b}
.site-header .brand{flex-shrink:0;gap:11px;font-size:13px;letter-spacing:.1px}
.site-header .brand-symbol{width:44px;height:41px;padding:0;border:0;background:none;box-shadow:none;transition:transform 240ms var(--motion-ease)}
.site-header .brand small{font-size:7px;letter-spacing:1.7px;color:#6d7c96}
.site-header .brand:hover .brand-symbol{transform:translateY(-1px) rotate(-2deg)}
.header-signature{width:185px;min-width:150px;flex:0 1 185px;order:1;position:relative;display:grid;place-items:center;align-self:stretch;padding:8px 0 9px;isolation:isolate}
.header-signature img{width:100%;height:62px;object-fit:contain;transition:transform 420ms var(--motion-ease)}
.header-signature>span{font:6px/1.4 ui-monospace,SFMono-Regular,monospace;letter-spacing:.7px;color:#8a9bb6;white-space:nowrap;position:absolute;bottom:10px;left:50%;transform:translateX(-50%)}
.header-signature:before{content:"";position:absolute;left:3px;right:3px;top:24px;bottom:21px;border-bottom:1px solid #e0e7f3;z-index:-1}
.header-signature:after{content:"";width:4px;height:4px;position:absolute;left:1px;bottom:19px;background:#d7fa73}
.header-signature:hover img{transform:translateY(-2px)}
.site-header nav{display:flex;position:relative;align-items:center;gap:2px;padding:4px 0;order:2;isolation:isolate}
.nav-entry{display:flex;align-items:center;position:relative;flex-shrink:0;border-radius:3px}
.nav-entry>a,.site-header nav>a.mobile-nav-experience{display:flex;align-items:center;gap:7px;min-height:44px;padding:11px 5px 11px 11px;font-size:12px;font-weight:600;color:#44526c;border:0;background:none;border-radius:0;white-space:nowrap;transition:color 180ms}
.nav-entry:last-of-type>a{padding-right:11px}
.nav-index{font:8px/1.2 ui-monospace,SFMono-Regular,monospace;color:#9aaac4;letter-spacing:.2px;margin-right:1px}
.nav-entry a:after{display:none}
.nav-entry a[aria-current],.nav-entry a:hover,.nav-entry-open>a{color:#114ee8;background:none}
.nav-expand{display:grid;place-items:center;width:24px;height:32px;padding:0;border:0;background:none;color:#8293b1;border-radius:2px;transition:color 180ms}
.nav-expand>.ui-icon{height:11px;width:11px;transition:transform 240ms var(--motion-ease)}
.nav-expand:hover{background:#dee9ff;color:#114ee8}
.nav-expand[aria-expanded=true]>.ui-icon{transform:rotate(180deg)}
.nav-track{position:absolute;left:0;top:4px;bottom:4px;width:0;background:#edf3ff;border:1px solid #dfebff;border-radius:3px;transform:translateX(var(--track-x,0px));z-index:-1;opacity:0;pointer-events:none;transition:transform 260ms var(--motion-ease),width 260ms var(--motion-ease),opacity 180ms}
.site-header nav>.mobile-nav-experience,.mobile-nav-art,.site-header nav>.mobile-nav-note{display:none!important}
.site-header .menu-toggle{display:none!important}
.header-actions{gap:10px}
.header-actions>.button{min-height:43px;font-size:11px;padding:12px 15px;gap:18px;background:#114ee8;border-color:#114ee8;box-shadow:none}
.header-actions>.button:hover{background:#083dbf}
.nav-drawer{position:absolute;top:calc(100% + 10px);left:50%;width:min(1060px,calc(100vw - 84px));transform:translate(-50%,-7px);background:#fff;border:1px solid #dce5f5;border-radius:5px;box-shadow:0 18px 60px #142f6729,0 2px 8px #142f6708;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden;transition:opacity 180ms,transform 260ms var(--motion-ease)}
.nav-drawer[hidden]{display:none}
.nav-drawer.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.nav-drawer-body{padding:27px 29px 23px;min-height:320px}
.nav-kicker{font:9px/1.6 ui-monospace,SFMono-Regular,monospace;letter-spacing:1.4px;color:#6b85b1;display:block}
.nav-panel-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
.nav-panel-title>a{display:flex;align-items:center;gap:10px;font-size:11px;color:#114ee8;min-height:30px}
.nav-panel-title .ui-icon{width:15px;height:15px}
.nav-services{display:grid;grid-template-columns:.85fr 1.15fr;gap:39px}
.nav-art-panel{background:#edf3ff;border:1px solid #e0e9fa;border-radius:3px;padding:23px 25px 16px;position:relative;overflow:hidden}
.nav-art-panel h2{font-size:24px;line-height:1.45;letter-spacing:-.5px;color:#203858;margin-top:13px;font-weight:700}
.nav-art-panel img{width:100%;height:108px;object-fit:contain;margin-top:7px;transition:transform 350ms var(--motion-ease)}
.nav-art-panel:hover img{transform:translateX(4px)}
.nav-art-panel>small{display:block;margin-top:7px;color:#8b9db8;font-size:8px;line-height:1.8}
.nav-service-links{display:grid;align-content:center;gap:2px}
.nav-service-links>a{display:flex;align-items:center;gap:18px;padding:17px 15px;min-height:86px;border-bottom:1px solid #e6ecf6;color:#25344d;border-radius:3px;transition:background 180ms}
.nav-service-links>a:last-child{border-bottom:0}
.nav-service-links>a:hover{background:#f3f7ff}
.nav-service-icon{display:grid;place-items:center;width:40px;height:40px;color:#114ee8;background:#edf3ff;border:1px solid #dbe7fb;flex-shrink:0;border-radius:3px;transition:background 180ms}
.nav-service-icon>.ui-icon{width:21px;height:21px}
.nav-service-links>a>span:nth-child(2){flex:1}
.nav-service-links small{font:8px ui-monospace,SFMono-Regular,monospace;color:#8ba1c2;display:inline;margin-right:8px}
.nav-service-links strong{font-size:15px;font-weight:650}
.nav-service-links p{font-size:11px;color:#7c8aa2;line-height:1.7;margin-top:6px}
.nav-service-links>a>.ui-icon{width:16px;height:16px;flex-shrink:0;color:#92a8c9;transition:transform 200ms,color 180ms}
.nav-service-links>a:hover>.ui-icon{transform:translate(3px,-3px);color:#114ee8}
.nav-mentor-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.nav-mentor-grid>a{position:relative;display:block;padding:18px 17px 14px;background:#f8faff;border:1px solid #e6ecf8;border-radius:3px;transition:background 180ms,border-color 180ms;color:#21365a}
.nav-mentor-index{position:absolute;right:14px;top:16px;font:8px ui-monospace,SFMono-Regular,monospace;color:#8da4c8}
.nav-mentor-grid img{width:70px;height:105px;object-fit:contain;box-shadow:0 4px 10px #193a7610;transition:transform 250ms var(--motion-ease)}
.nav-mentor-grid strong{display:block;font-size:22px;line-height:1.3;letter-spacing:-.5px;margin-top:14px}
.nav-mentor-grid p{font-size:10px;color:#8291ac;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-mentor-grid>a>.ui-icon{position:absolute;right:14px;bottom:44px;width:15px;height:15px;color:#114ee8;transition:transform 200ms}
.nav-mentor-grid>a:hover{background:#eff5ff;border-color:#aec5f8}
.nav-mentor-grid>a:hover img{transform:translateY(-4px)}
.nav-mentor-grid>a:hover>.ui-icon{transform:translate(2px,-2px)}
.nav-panel-note{font-size:9px;color:#8a9bb5;line-height:1.8;margin-top:17px}
.nav-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nav-plan-grid>a{position:relative;background:#f8faff;border:1px solid #e2eaf8;border-radius:3px;padding:18px 18px 21px;color:#263a61;transition:background 180ms,border-color 180ms}
.nav-plan-grid>a:hover{background:#edf4ff;border-color:#aec5f8}
.nav-plan-label{font:9px/1.5 ui-monospace,SFMono-Regular,monospace;color:#6d88b5;display:block}
.nav-plan-label b{font-size:14px;color:#114ee8}
.nav-plan-grid strong{display:block;font-size:29px;line-height:1.4;letter-spacing:-.8px;margin-top:19px;font-weight:750;color:#114ee8}
.nav-plan-grid h3{font-size:13px;line-height:1.8;margin-top:15px;font-weight:600;max-width:150px}
.nav-plan-grid p{font-size:10px;line-height:1.8;color:#7d90b0;margin-top:8px;min-height:36px}
.nav-plan-grid .ui-icon{position:absolute;right:15px;top:17px;width:16px;height:16px;color:#97adcf;transition:transform 200ms,color 180ms}
.nav-plan-grid>a:hover>.ui-icon{transform:translate(2px,-2px);color:#114ee8}
/* Deliberate, bounded effects keep reading and interaction stable. */
.hero-scene .scene-assembly,.service-art img,.lab-atlas>img{translate:0 var(--material-offset,0px)}
.motion-entrance.motion-seen{animation:reading-in var(--motion-reading) var(--motion-ease) var(--motion-delay,0ms) both}
.plan-enter{animation:state-in 220ms var(--motion-ease)}
@keyframes reading-in{from{opacity:.15;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}
@keyframes state-in{from{opacity:.7;translate:0 5px}to{opacity:1;translate:0 0}}
@media(max-width:1280px){.site-header{padding-inline:30px;gap:14px}.header-signature{width:138px;min-width:114px;flex-basis:138px}.header-signature img{height:59px}.header-signature>span{font-size:5px;letter-spacing:.4px}.site-header .brand{font-size:12px}.site-header .brand-symbol{width:40px;height:37px}.site-header .brand small{font-size:6px}.nav-entry>a{font-size:11px;padding-left:9px;gap:5px}.nav-expand{width:20px}.nav-index{font-size:7px}.header-actions>.button{padding-inline:12px;gap:13px}}
@media(max-width:1100px){.site-header{height:82px;padding-inline:24px;gap:14px}.header-signature{width:150px;min-width:100px;max-width:180px;margin-left:24px;margin-right:auto;flex-shrink:1}.header-signature img{height:52px}.header-signature>span{font-size:5px;bottom:9px}.header-signature:before{top:20px;bottom:20px}.header-signature:after{bottom:18px}.header-actions{margin-left:0;gap:9px}.site-header .menu-toggle{display:grid!important;width:42px;height:42px;min-width:42px;min-height:42px;color:#114ee8;background:white;box-shadow:none;border-color:#d7e3f6}.site-header.menu-open .menu-toggle{background:#114ee8;color:white;border-color:#114ee8}.site-header nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:15px 24px 24px;background:white;background-image:none;border-bottom:2px solid #114ee8;box-shadow:0 18px 35px #1938671c;max-height:calc(100dvh - 82px);overflow:auto;z-index:2;isolation:isolate}.site-header.menu-open nav{display:flex}.nav-entry{display:block;width:100%;border-top:1px solid #e6edf8;border-radius:0}.nav-entry>a,.site-header nav>a.mobile-nav-experience{padding:15px 8px;min-height:54px;justify-content:flex-start;font-size:14px;gap:15px;border-radius:0}.nav-entry a[aria-current]{background:#f1f6ff;border-left:2px solid #114ee8;padding-left:6px}.nav-entry>a:hover{background:#f5f8ff}.nav-index{font-size:9px;color:#95aacc}.nav-expand,.nav-track,.nav-drawer{display:none!important}.site-header nav>.mobile-nav-experience{display:flex!important;border-top:1px solid #e6edf8;color:#114ee8;background:none}.mobile-nav-experience>.ui-icon{margin-left:auto;width:16px;height:16px}.site-header nav>.mobile-nav-note{display:block!important;padding:15px 8px 0;margin:0;color:#8295b5;border-top:1px solid #e6edf8;font-size:10px}.mobile-nav-art{display:flex!important;align-items:center;justify-content:space-between;padding:0 7px 14px;gap:20px;color:#114ee8;min-height:87px}.mobile-nav-art>span{font:10px/1.5 ui-monospace,SFMono-Regular,monospace;letter-spacing:1px;flex-shrink:0}.mobile-nav-art img{width:220px;height:73px;max-width:64%;object-fit:contain}.menu-open .nav-entry{animation:menu-entry 300ms var(--motion-ease) both}.menu-open .nav-entry:nth-of-type(2){animation-delay:35ms}.menu-open .nav-entry:nth-of-type(3){animation-delay:70ms}.menu-open .nav-entry:nth-of-type(4){animation-delay:105ms}@keyframes menu-entry{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:700px){.header-signature{display:none}.header-actions{margin-left:auto}.site-header .brand{font-size:11px;gap:7px}.site-header .brand-symbol{width:36px;height:34px}.site-header .brand small{font-size:5.5px;letter-spacing:1.1px}.site-header{height:78px;padding-inline:18px;gap:12px}.header-actions>.button{font-size:10px;padding:10px 12px;min-height:40px;gap:10px}.site-header .menu-toggle{width:40px;height:40px;min-width:40px;min-height:40px}.site-header nav{padding:14px 18px 20px;max-height:calc(100dvh - 78px)}.mobile-nav-art{padding-bottom:12px;min-height:76px;gap:12px}.mobile-nav-art img{width:185px;height:63px;max-width:64%}.mobile-nav-art>span{font-size:8px;letter-spacing:.8px}.nav-entry>a,.site-header nav>a.mobile-nav-experience{font-size:13px;min-height:51px}.site-header nav>.mobile-nav-note{font-size:9px;padding-top:14px}}
@media(max-width:360px){.site-header{padding-inline:14px;gap:7px}.site-header .brand{font-size:10px;gap:5px}.site-header .brand-symbol{width:29px;height:27px}.site-header .brand small{font-size:4.5px;letter-spacing:.8px}.header-actions{gap:5px}.header-actions>.button{font-size:9px;padding:10px 9px;gap:7px}.site-header .menu-toggle{width:37px;min-width:37px}.site-header nav{padding-inline:14px}.mobile-nav-art>span{font-size:7px}.mobile-nav-art img{width:164px;max-width:62%}}
@media(prefers-reduced-motion:reduce){.motion-entrance.motion-seen,.plan-enter,.menu-open .nav-entry{animation:none}.hero-scene .scene-assembly,.service-art img,.lab-atlas>img{translate:none}.header-signature:hover img,.site-header .brand:hover .brand-symbol,.nav-art-panel:hover img,.nav-mentor-grid>a:hover img,.nav-service-links>a:hover>.ui-icon,.nav-mentor-grid>a:hover>.ui-icon,.nav-plan-grid>a:hover>.ui-icon{transform:none}.nav-track,.nav-drawer,.nav-expand>.ui-icon{transition:none}}
