:root,:root[data-theme=deep]{--bg:#040e08;--surface:#0a2317;--ink:#e6f4ea;--ink-dim:#8fb09c;--accent:#1fa35c;--accent2:#0f7d4a;--accent-glow:#5fe39b;--thread:#3f8f69;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font-ui);margin:0}html.js body{overflow:hidden}html.js,html.js body,#stage{touch-action:none}#stage{z-index:0;width:100%;height:100%;display:block;position:fixed;inset:0}.brand{z-index:3;font-family:var(--font-display);letter-spacing:.04em;font-size:18px;position:fixed;top:20px;left:24px}.brand #logo{aspect-ratio:340/132;width:auto;height:76px;display:block;overflow:visible}@media (min-width:768px){.brand #logo{height:96px}}@media (min-width:1200px){.brand #logo{height:128px}}.logo-hex-bg{stroke:var(--accent);opacity:.3;transform-box:fill-box;transform-origin:50% 0;animation:5s ease-in-out infinite hex-bg-sway}@keyframes hex-bg-sway{0%,to{transform:rotate(-.4deg)}50%{transform:rotate(.4deg)}}@media (prefers-reduced-motion:reduce){.logo-hex-bg{animation:none}}.logo-ink{fill:var(--ink)}.logo-green{fill:var(--accent-glow);color:var(--accent-glow)}.logo-dim{fill:var(--ink-dim)}.imp-cut{fill:var(--bg)}.imp-heart{opacity:.22;pointer-events:none}.imp-eye{fill:var(--imp-eye,#ff8a1f);stroke:#000;stroke-width:1.1px;stroke-linejoin:round;paint-order:stroke}html.imp-pending #logo-imp{opacity:0}.imp-fly{z-index:5;pointer-events:none;will-change:transform;fill:var(--accent-glow);color:var(--accent-glow);position:fixed;top:0;left:0;overflow:visible}.imp-fly .imp-cut{fill:var(--bg)}html.hop-out #logo-imp{opacity:0;pointer-events:none}#logo-imp{touch-action:none}.imp-fly.hop{pointer-events:auto;touch-action:none;cursor:pointer}.hexmenu .hex.hop-lit .ring,.hexmenu .hex.hop-lit:hover .ring{opacity:.85}.hexmenu .hex.hop-lit .ring polygon{stroke:var(--imp-eye,#ff8a1f);stroke-width:4px;filter:drop-shadow(0 0 5px var(--imp-eye,#ff8a1f))}.hexmenu .hex .ring polygon.ember-edge{stroke:#000c;stroke-width:9px;filter:none}.hexmenu .hex.hop-lit:focus-visible .ring polygon:not(.ember-edge){stroke:var(--accent-glow)}.hexmenu .hex.hop-lit.hop-fading:not(:focus-visible) .ring{opacity:0;transition:opacity .9s}.turnstile-slot{margin:8px 0 0}.turnstile-note{color:var(--ink-dim);min-height:0;margin:6px 0 0;font-size:13px}.turnstile-note:empty{display:none}.imp-fly .imp-eye{fill:var(--imp-eye,#ff8a1f);stroke:#000;stroke-width:1.1px;stroke-linejoin:round;paint-order:stroke}:focus-visible{outline:2px solid var(--accent-glow);outline-offset:3px}.hexmenu .hex{color:var(--ink);text-align:center;text-decoration:none}.hexmenu .hex .ring{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .15s;position:absolute;inset:0;overflow:visible}.hexmenu .hex .ring polygon{fill:none;stroke:var(--accent-glow);stroke-width:4px;stroke-linejoin:round;filter:drop-shadow(0 0 6px var(--accent))}.hexmenu .hex:focus-visible{outline:none}.hexmenu .hex:focus-visible .ring{opacity:1}.hexmenu .hex:hover .ring{opacity:.4}html.js .hexmenu .hex{--hexw:calc(var(--R) * 2);--hexh:calc(var(--R) * 1.73205);z-index:2;width:var(--hexw);height:var(--hexh);margin:calc(var(--hexh) / -2) 0 0 calc(var(--hexw) / -2);padding:0 calc(var(--R) * .28);font:600 max(11px, calc(var(--R) * .2)) / 1.18 var(--font-display);letter-spacing:.02em;will-change:transform;touch-action:manipulation;-webkit-tap-highlight-color:transparent;text-shadow:0 1px 3px #000000d9,0 0 8px #000000a6;visibility:hidden;place-items:center;display:grid;position:fixed;top:0;left:0}html.js .hexmenu .hex.is-active{visibility:visible}html:not(.js) #stage{display:none}html:not(.js) body{place-items:center;min-height:100%;padding:96px 16px 48px;display:grid}html:not(.js) .hexmenu{flex-wrap:wrap;justify-content:center;gap:14px;max-width:760px;display:flex}html:not(.js) .hexmenu .hex{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:linear-gradient(160deg, var(--surface), color-mix(in srgb, var(--accent) 22%, var(--surface)));width:170px;height:147px;font:600 16px/1.2 var(--font-display);place-items:center;display:grid;position:relative}html:not(.js) .hexmenu .hex .ring{display:none}html:not(.js) .hexmenu .hex:hover{background:linear-gradient(160deg, var(--surface), color-mix(in srgb, var(--accent) 45%, var(--surface)))}.panel{z-index:5;background:color-mix(in srgb, var(--bg) 94%, var(--accent));border-left:1px solid color-mix(in srgb, var(--accent) 45%, transparent);width:min(380px,100%);padding:72px 32px 36px;transition:transform .45s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-30px 0 80px #0000008c}.panel[hidden]{visibility:hidden;display:block}.panel.is-open{visibility:visible;transform:none}.panel h2{font:600 32px/1.1 var(--font-display);margin:0 0 14px}.panel p{color:var(--ink-dim);margin:0;font-size:17px;line-height:1.6}.panel__action{font:600 15px/1.3 var(--font-display);border:1px solid var(--accent);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;justify-self:start;margin-top:24px;padding:12px 18px}.panel__action+.panel__action{margin-top:12px}.panel__action[hidden]{display:none}.panel__action:hover{background:color-mix(in srgb, var(--accent) 25%, transparent)}.contact-form{gap:8px;margin-top:24px;display:grid;position:relative}.contact-form[hidden]{display:none}.contact-form label{color:var(--ink-dim);margin-top:6px;font-size:14px}.contact-form input,.contact-form textarea{width:100%;font:16px/1.4 var(--font-ui);color:var(--ink);background:var(--surface);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:6px;padding:10px 12px}.contact-form textarea{resize:vertical}.contact-form__submit{font:600 15px/1.3 var(--font-display);border:1px solid var(--accent);background:var(--accent);color:var(--bg);cursor:pointer;border-radius:999px;justify-self:start;margin-top:8px;padding:12px 22px}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.panel__close{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;width:40px;height:40px;font-size:20px;position:absolute;top:20px;right:22px}.panel__close:hover{border-color:var(--accent)}@media (prefers-reduced-motion:reduce){.panel{transition:none}}html.js.panel-open .hexmenu .hex[data-id=contact]{z-index:6;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:linear-gradient(160deg, var(--surface), color-mix(in srgb, var(--accent) 38%, var(--surface)))}html.js.contact-open .hexmenu .hex[data-id=contact]{visibility:hidden}html.js.panel-open .hexmenu .hex[data-id=contact]:hover,html.js.panel-open .hexmenu .hex[data-id=contact]:focus-visible{background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 30%, var(--surface)), var(--accent));color:var(--bg);text-shadow:none}#truss{z-index:1;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .7s;position:fixed;inset:0}#truss.is-stage{opacity:1}#truss path{fill:none;stroke-linecap:round}#truss .truss-front{stroke:var(--accent-glow);stroke-width:2.2px;filter:drop-shadow(0 0 5px var(--accent))}#truss .truss-links{stroke:var(--accent);stroke-width:1.3px;opacity:.85}#truss .truss-back{stroke:var(--accent);stroke-width:1.2px;opacity:.7}#truss .deck{stroke:var(--accent);stroke-width:1.2px;opacity:.6}html.stage .brand{top:var(--stage-brand-y,60px);left:var(--stage-brand-x,60px)}html.hub .brand{top:var(--hub-y);left:var(--hub-x);transform:translate(-50%,-50%)}html.hub .brand #logo{height:var(--hub-logo-h)}@media (prefers-reduced-motion:reduce){#truss{transition:none}}.stage-toggle{display:none}html.js .stage-toggle{right:calc(54px + env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:7;background:var(--accent);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);opacity:.22;cursor:pointer;touch-action:manipulation;border:0;width:34px;height:30px;padding:0;transition:opacity .2s;display:block;position:fixed}html.js .stage-toggle:hover,html.js .stage-toggle:focus-visible,html.js .stage-toggle[aria-pressed=true]{opacity:.55}.haptics-toggle{display:none}html.js .haptics-toggle:not([hidden]){right:calc(10px + env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:7;width:38px;height:34px;color:var(--accent-glow);opacity:.4;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:4px;transition:opacity .2s;display:block;position:fixed}html.js .haptics-toggle svg{width:100%;height:100%;display:block;overflow:visible}html.js .haptics-toggle path{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}html.js .haptics-toggle .slash{display:none}html.js .haptics-toggle[aria-pressed=false] .slash{display:block}html.js .haptics-toggle[aria-pressed=false]{opacity:.5}html.js .haptics-toggle:hover,html.js .haptics-toggle:focus-visible{opacity:.85}@media (max-width:640px){html.js .stage-toggle,html.js .haptics-toggle:not([hidden]),html.js .tilt-toggle:not([hidden]){bottom:auto;top:calc(10px + env(safe-area-inset-top,0px))}}.site-footer[hidden]{display:none}.site-footer{left:calc(14px + env(safe-area-inset-left,0px));bottom:calc(6px + env(safe-area-inset-bottom,0px));z-index:4;font:clamp(9.5px, 2.9vw, 11px) / 1.5 var(--font-ui);color:var(--ink-dim);text-align:left;pointer-events:none;flex-direction:column;align-items:flex-start;display:flex;position:fixed}.site-footer p{white-space:nowrap;margin:0}.site-footer__links{pointer-events:auto;gap:12px;display:flex}.site-footer a{color:var(--ink-dim);padding:4px 2px;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{color:var(--accent-glow);text-decoration:underline}html:not(.js) .site-footer{pointer-events:auto;max-width:none;margin:24px;position:static}.static-content{max-width:680px;color:var(--ink);margin:0 auto;padding:32px 24px 120px;line-height:1.6}.static-content h1{font:600 28px/1.2 var(--font-display);margin:0 0 12px}.static-content h2{font:600 22px/1.3 var(--font-display);margin:36px 0 8px}.static-content section{scroll-margin-top:24px}.static-content p{color:var(--ink-dim);margin:0 0 12px}.static-content a{color:var(--accent-glow)}html.js .static-content{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html.js .hexmenu .hex,html.js .site-footer{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}#truss .set{opacity:.55}#truss .set path,#truss .set rect,#truss .set circle{fill:var(--bg);stroke:var(--accent);stroke-width:1.4px;stroke-opacity:.35;stroke-linejoin:round;stroke-linecap:round;fill-opacity:.7}#truss .set path[fill=none],#truss .set .cone-ring{fill:none}#truss .clamp{fill:var(--accent);fill-opacity:.5;stroke:var(--accent-glow);stroke-width:1px}#stage-lights{z-index:1;pointer-events:none;opacity:0;transition:opacity .7s;position:fixed;inset:0;overflow:hidden}html.stage #stage-lights{opacity:1}#stage-lights .light{will-change:transform;width:0;height:0;position:absolute}#stage-lights .light.l{animation:9s ease-in-out infinite alternate sweep-l;transform:rotate(-20deg)}#stage-lights .light.r{animation:12s ease-in-out infinite alternate sweep-r;transform:rotate(200deg)}#stage-lights .light.l .head{filter:drop-shadow(0 0 5px #ff7a00)}#stage-lights .light.r .head{filter:drop-shadow(0 0 5px #a020ff)}#stage-lights .head{fill:var(--surface);stroke:var(--accent-glow);stroke-width:1px;stroke-opacity:.6;position:absolute;top:-7px;left:-2px;overflow:visible}#stage-lights .beam{transform-origin:0;clip-path:polygon(0 50%,100% 0,100% 100%);opacity:0;will-change:opacity;animation:18s linear infinite beam-fade;position:absolute;left:8px}#stage-lights .light.l .b1{background:linear-gradient(90deg,#ff8000f2,#ff6e0059 55%,#0000 100%)}#stage-lights .light.l .b2{background:linear-gradient(90deg,#ff5e00f2,#ff500059 55%,#0000 100%);animation-delay:-6s}#stage-lights .light.l .b3{background:linear-gradient(90deg,#ffa000f2,#ff8c0059 55%,#0000 100%);animation-delay:-12s}#stage-lights .light.r .b1{background:linear-gradient(90deg,#9628fffa,#821eff66 55%,#0000 100%);animation-delay:-9s}#stage-lights .light.r .b2{background:linear-gradient(90deg,#be1efffa,#aa14f066 55%,#0000 100%);animation-delay:-15s}#stage-lights .light.r .b3{background:linear-gradient(90deg,#691efffa,#5a14f066 55%,#0000 100%);animation-delay:-3s}@keyframes sweep-l{0%{transform:rotate(-52deg)}to{transform:rotate(22deg)}}@keyframes sweep-r{0%{transform:rotate(232deg)}to{transform:rotate(158deg)}}@keyframes beam-fade{0%{opacity:0}8%{opacity:.9}30%{opacity:.9}42%{opacity:0}to{opacity:0}}@media (prefers-reduced-motion:reduce){#stage-lights .light,#stage-lights .beam{animation:none}#stage-lights .b1{opacity:.4}}.tilt-toggle{display:none}html.js .tilt-toggle:not([hidden]){right:calc(98px + env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:7;width:38px;height:34px;color:var(--accent-glow);opacity:.4;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:4px;transition:opacity .2s;display:block;position:fixed}html.js .tilt-toggle svg{width:100%;height:100%;display:block;overflow:visible}html.js .tilt-toggle path,html.js .tilt-toggle rect{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}html.js .tilt-toggle .slash{display:none}html.js .tilt-toggle[aria-pressed=false] .slash{display:block}html.js .tilt-toggle[aria-pressed=false]{opacity:.5}html.js .tilt-toggle:hover,html.js .tilt-toggle:focus-visible{opacity:.85}#web{z-index:1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}#web path{fill:none;stroke:var(--thread);stroke-linecap:round;opacity:0}#web .web-hub{stroke-width:1.4px}#web .web-ring{stroke-width:1px;stroke-dasharray:2 6}#logo .a-tail,#logo .a-tip{filter:drop-shadow(0 0 1px #000)drop-shadow(0 0 1px #000);transition:opacity .9s}html.imp-pending #logo .a-tail,html.imp-pending #logo .a-tip{opacity:0}#paint-ring{z-index:20;pointer-events:none;opacity:0;background:conic-gradient(#f04c4c,#efef39,#36e236,#30e8e8,#5a5af2,#ec51ec,#f04c4c);background:conic-gradient(from 0deg in oklch longer hue, #f275a0, #f275a0);border-radius:50%;width:220px;height:220px;margin:-110px 0 0 -110px;transition:opacity .18s,transform .22s cubic-bezier(.2,.9,.3,1.2);position:fixed;transform:scale(.55);box-shadow:0 0 40px 6px #00000059;-webkit-mask:radial-gradient(circle,#0000 0 22%,#000 24% 99%,#0000 100%);mask:radial-gradient(circle,#0000 0 22%,#000 24% 99%,#0000 100%)}@supports (color:lab(0% 0 0)){#paint-ring{background:conic-gradient(from 0deg in oklch longer hue, lab(65.5075% 52.4054 .67836), lab(65.5075% 52.4054 .678372))}}#paint-ring.open{opacity:.92;transform:scale(1)}#paint-ring .paint-dot{background:var(--accent);width:26px;height:26px;box-shadow:0 0 0 2px #0000008c, 0 0 18px 4px var(--accent-glow);border:3px solid #fff;border-radius:50%;margin:-13px 0 0 -13px;position:absolute}html.painting,html.painting *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@media (prefers-reduced-motion:reduce){#paint-ring{transition:none}}html[data-q-glow="1"] .hexmenu .hex .ring polygon,html[data-q-glow="1"] #truss .truss-front,html[data-q-glow="1"] #stage-lights .light .head{filter:none}html[data-q-lights="1"] #stage-lights .light,html[data-q-lights="1"] #stage-lights .beam{animation:none}html[data-q-lights="1"] #stage-lights .beam.b1{opacity:.4}html[data-q-lights="2"] #stage-lights{display:none}
