:root{--white:#fff;--blue:#00f;--blue-soft:#2b2bff;--accent:#add8e6;--ink:#0a0a0f;--ink-60:rgba(10,10,15,.6);--ink-30:rgba(10,10,15,.3);--ink-12:rgba(10,10,15,.12);--line:rgba(0,0,255,.16);--grid:rgba(0,0,255,.06);--nav-bg:hsla(0,0%,100%,.72);--ease:cubic-bezier(0.16,1,0.3,1);--font-google:"Google Sans","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;--font-opensans:var(--font-google);--font-robotoslab:var(--font-google);--font-sans:var(--font-google);--font-mono:var(--font-google)}[data-theme=dark]{--white:#0b0c14;--ink:#eef1f8;--ink-60:rgba(238,241,248,.62);--ink-30:rgba(238,241,248,.34);--ink-12:rgba(238,241,248,.14);--line:rgba(120,140,255,.22);--grid:rgba(120,140,255,.09);--blue:#6f8cff;--blue-soft:#93a8ff;--nav-bg:rgba(11,12,20,.74)}*{margin:0;padding:0;box-sizing:border-box}*,:after,:before{font-family:var(--font-google)!important;font-weight:400!important}html{scrollbar-gutter:stable;scroll-behavior:auto;overflow-x:clip}body{background:var(--white);color:var(--ink);font-family:var(--font-sans);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background .5s var(--ease),color .5s var(--ease)}[data-magnetic],[role=button],a,button:not(:disabled),label[role=button],summary{cursor:pointer}canvas,img,svg,video{max-width:100%}a{text-decoration:none}a,button{color:inherit}button{font-family:inherit;border:none;background:none}::selection{background:var(--blue);color:var(--white)}.mono{font-weight:400;letter-spacing:.04em}.eyebrow,.mono{font-family:var(--font-mono)}.eyebrow{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--blue)}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.blueprint-grid{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:48px 48px}.scene-fixed{position:fixed;inset:0;z-index:1;pointer-events:none}.content-layer{position:relative;z-index:2}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.loader{position:fixed;inset:0;z-index:9999;background:var(--white);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.4rem;transition:opacity .8s var(--ease),visibility .8s var(--ease)}.loader.hidden{opacity:0;visibility:hidden}.loader-bar{width:220px;height:2px;background:var(--ink-12);overflow:hidden}.loader-bar span{display:block;height:100%;width:0;background:var(--blue);transition:width .2s linear}.booth-build{width:170px;height:178px;display:block;overflow:visible;animation:boothCycle 6s linear infinite}.booth-build .s1,.booth-build .s2,.booth-build .s3,.booth-build .s4,.booth-build .s5,.booth-build .s6{opacity:0}.booth-build .s1{stroke-dasharray:1;stroke-dashoffset:1;animation:boothS1 6s linear infinite}.booth-build .s2{transform-box:fill-box;transform-origin:50% 100%;animation:boothS2 6s cubic-bezier(.16,1,.3,1) infinite}.booth-build .s3{stroke-dasharray:1;stroke-dashoffset:1;animation:boothS3 6s linear infinite}.booth-build .s4{animation:boothS4 6s cubic-bezier(.16,1,.3,1) infinite}.booth-build .s5{transform-box:fill-box;transform-origin:50% 50%;animation:boothS5 6s cubic-bezier(.16,1,.3,1) infinite}.booth-build .s6{animation:boothS6 6s cubic-bezier(.16,1,.3,1) infinite}@keyframes boothCycle{0%{opacity:0}2%{opacity:1}90%{opacity:1}98%{opacity:0}to{opacity:0}}@keyframes boothS1{0%{opacity:0;stroke-dashoffset:1}2%{opacity:1}12%{stroke-dashoffset:0}to{opacity:1;stroke-dashoffset:0}}@keyframes boothS2{0%{opacity:0;transform:scaleY(0)}13%{opacity:0;transform:scaleY(0)}24%{opacity:1;transform:scaleY(1)}to{opacity:1;transform:scaleY(1)}}@keyframes boothS3{0%{opacity:0;stroke-dashoffset:1}25%{opacity:0;stroke-dashoffset:1}27%{opacity:1}37%{stroke-dashoffset:0}to{opacity:1;stroke-dashoffset:0}}@keyframes boothS4{0%{opacity:0;transform:translateY(-6px)}37%{opacity:0;transform:translateY(-6px)}50%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}@keyframes boothS5{0%{opacity:0;transform:scale(.86)}50%{opacity:0;transform:scale(.86)}62%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1)}}@keyframes boothS6{0%{opacity:0;transform:translateY(-5px)}62%{opacity:0;transform:translateY(-5px)}74%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.booth-build,.booth-build .s1,.booth-build .s2,.booth-build .s3,.booth-build .s4,.booth-build .s5,.booth-build .s6{animation:none!important;opacity:1!important}.booth-build .s1,.booth-build .s3{stroke-dashoffset:0!important}.booth-build .s2{transform:scaleY(1)!important}.booth-build .s4,.booth-build .s5,.booth-build .s6{transform:none!important}}.page-transition{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.2rem;background:var(--white);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s var(--ease),visibility .45s var(--ease)}.page-transition.is-active{opacity:1;visibility:visible;pointer-events:all;transition:opacity .12s ease,visibility 0s}.page-transition .pt-inner{display:flex;flex-direction:column;align-items:center;gap:1rem}.page-transition .pt-note{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-30)}.page-transition .booth-build,.page-transition .booth-build .s1,.page-transition .booth-build .s2,.page-transition .booth-build .s3,.page-transition .booth-build .s4,.page-transition .booth-build .s5,.page-transition .booth-build .s6{animation-duration:2.75s;animation-iteration-count:1;animation-fill-mode:both}@media (prefers-reduced-motion:reduce){.page-transition{transition-duration:.2s}}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}body{font-optical-sizing:auto;-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}:focus:not(:focus-visible){outline:none}@media (hover:none) and (pointer:coarse){[role=button],a[data-magnetic],button:not(:disabled),summary{min-height:44px}}html{text-size-adjust:100%}@media (max-width:640px){input,select,textarea{font-size:16px!important}}a[data-magnetic]:active{transform:translateY(0) scale(.98)}.shapegrid-canvas{width:100%;height:100%;border:none;display:block}