.brand[data-astro-cid-l6tvosw6]{min-height:44px;color:var(--colour-text);align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.brand__mark[data-astro-cid-l6tvosw6]{filter:drop-shadow(0 0 15px #40e0ff47);width:3rem;height:3rem}.brand__wordmark[data-astro-cid-l6tvosw6]{line-height:1;display:grid}.brand__name[data-astro-cid-l6tvosw6]{letter-spacing:.09em;font-size:1.15rem;font-weight:650}.brand__ai[data-astro-cid-l6tvosw6]{color:var(--colour-cyan);background:linear-gradient(110deg, var(--colour-cyan), var(--colour-violet));-webkit-text-fill-color:transparent;background-clip:text}.brand__designs[data-astro-cid-l6tvosw6]{color:var(--colour-muted);font-family:var(--font-mono);letter-spacing:.43em;margin-top:.28rem;font-size:.58rem}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--colour-void:#03050b;--colour-depth:#071424;--colour-glass:#071221b8;--colour-cyan:#40e0ff;--colour-violet:#8b5cf6;--colour-mint:#69ffd5;--colour-text:#eaf7ff;--colour-muted:#94a9ba;--colour-amber:#f7b955;--colour-error:#ff6b91;--font-display:"Space Grotesk Variable", "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", "Cascadia Mono", monospace;color-scheme:dark;font-family:var(--font-display);background:var(--colour-void);color:var(--colour-text)}*,:before,:after{box-sizing:border-box}html{background:var(--colour-void);scroll-behavior:smooth;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 78% 8%, #8b5cf62b, transparent 28rem), radial-gradient(circle at 8% 44%, #40e0ff1c, transparent 30rem), var(--colour-void);min-height:100%;color:var(--colour-text);margin:0;overflow-x:hidden}body:before{z-index:-1;content:"";background-image:linear-gradient(#40e0ff06 1px,#0000 1px),linear-gradient(90deg,#40e0ff06 1px,#0000 1px);background-size:54px 54px;position:fixed;inset:0;mask-image:radial-gradient(circle,#000,#0000 78%)}button,a{font:inherit}button{color:inherit}:focus-visible{outline:3px solid var(--colour-cyan);outline-offset:4px}.skip-link{z-index:100;background:var(--colour-text);min-height:44px;color:var(--colour-void);border-radius:.4rem;padding:.75rem 1rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;translate:0 -180%}.skip-link:focus{translate:0}.site-shell[aria-hidden=true] .skip-link{translate:0 -180%}.site-shell{width:min(100% - 3rem,1600px);min-height:100svh;margin-inline:auto}.site-header{z-index:40;justify-content:space-between;align-items:center;min-height:6.5rem;padding-block:1rem;display:flex;position:relative}.error-page{grid-template-rows:auto 1fr;width:min(100% - 2rem,72rem);min-height:100svh;margin-inline:auto;display:grid}.error-page__header{align-items:center;min-height:6.5rem;padding-block:1rem;display:flex}.error-page__main{place-items:center;padding:2rem 0 6rem;display:grid}.error-page__panel{background:#071424db;border:1px solid #40e0ff94;border-radius:1rem;width:min(100%,42rem);padding:clamp(1.5rem,5vw,3.5rem);box-shadow:0 0 48px #40e0ff1a}.error-page__panel h1{letter-spacing:-.055em;margin:.5rem 0 1rem;font-size:clamp(2.5rem,8vw,5rem);font-weight:540;line-height:.95}.error-page__panel>p:not(.eyebrow){max-width:34rem;color:var(--colour-muted);margin:0;font-size:clamp(1rem,2vw,1.2rem);line-height:1.65}.error-page__action{border:1px solid var(--colour-cyan);min-height:44px;color:var(--colour-text);font-family:var(--font-mono);background:#40e0ff14;border-radius:.45rem;align-items:center;margin-top:2rem;padding:.8rem 1rem;font-size:.82rem;text-decoration:none;display:inline-flex}.error-page__action:hover{background:#40e0ff29}.exhibit-label,.eyebrow{color:var(--colour-muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.exhibit-label{align-items:center;gap:.65rem;display:flex}.exhibit-label span{background:var(--colour-mint);width:.55rem;height:.55rem;box-shadow:0 0 14px var(--colour-mint);border-radius:50%}.experience:focus{outline:none}.experience:focus-visible .reticle{filter:drop-shadow(0 0 12px #40e0ff75)}.experience:focus-visible .reticle:before,.experience:focus-visible .reticle:after{border-color:var(--colour-cyan)}.semantic-fallback[hidden]{display:none}.intro{border-bottom:1px solid #94a9ba29;align-content:end;min-height:min(54vh,38rem);padding:clamp(3rem,7vw,7rem) 0 clamp(4rem,7vw,6rem);display:grid}.intro__kicker{color:var(--colour-cyan);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.2rem;font-size:.72rem}.intro h1{letter-spacing:-.065em;max-width:1050px;margin:0;font-size:clamp(3rem,7vw,7.3rem);font-weight:520;line-height:.88}.intro h1 span{color:#0000;background:linear-gradient(100deg, var(--colour-text) 5%, var(--colour-cyan) 55%, #ad91ff);background-clip:text}.intro__copy{max-width:610px;color:var(--colour-muted);margin:2rem 0 0;font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.65}.fallback-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;padding-top:clamp(4rem,8vw,8rem);display:flex}.fallback-heading p{max-width:25rem;color:var(--colour-muted);margin:0;line-height:1.6}.fallback-heading h2{letter-spacing:-.045em;margin:.4rem 0 0;font-size:clamp(2rem,4vw,3.5rem);font-weight:520}.fallback-site-controls{flex-wrap:wrap;gap:.65rem;margin:-.5rem 0 2rem;display:flex}.fallback-site-controls button{min-width:7rem;min-height:44px;color:var(--colour-text);cursor:pointer;font-family:var(--font-mono);background:#05111de6;border:1px solid #40e0ff61;border-radius:.45rem;padding:.65rem 1rem;font-size:.75rem}.fallback-site-controls button:hover{border-color:var(--colour-cyan);background:#113145f0}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;padding-bottom:clamp(4rem,8vw,8rem);display:grid}.project-card{--accent:var(--colour-cyan);border:1px solid color-mix(in srgb, var(--accent) 31%, #94a9ba33);background:linear-gradient(145deg, #0d2138db, var(--colour-glass));border-radius:1rem;flex-direction:column;min-width:0;min-height:31rem;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 24px 70px #0000003d}.project-card--mint,.project-modal--mint{--accent:var(--colour-mint)}.project-card--violet,.project-modal--violet{--accent:#a884ff}.project-card__visual,.modal-visual{background:radial-gradient(circle at center, color-mix(in srgb, var(--accent) 25%, transparent), transparent 42%), linear-gradient(135deg, #ffffff06, transparent), #050d18;border-bottom:1px solid #94a9ba26;place-items:center;min-height:14rem;display:grid;position:relative;overflow:hidden}.project-card__visual:before,.modal-visual:before{border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);width:11rem;height:11rem;box-shadow:0 0 45px color-mix(in srgb, var(--accent) 13%, transparent);content:"";border-radius:50%;position:absolute}.project-media{background:#050d18;place-items:stretch stretch;width:100%;min-width:0;height:100%;display:grid;position:relative;overflow:hidden}.project-card__visual>.project-media,.modal-visual>.project-media{z-index:1;position:absolute;inset:0;aspect-ratio:auto!important}.project-media__fallback,.project-media img{grid-area:1/1}.project-media__fallback{z-index:0;color:var(--colour-text);font-family:var(--font-mono);letter-spacing:.16em;text-shadow:0 0 25px var(--accent);place-items:center;font-size:2.2rem;font-weight:700;display:grid}.project-media img{z-index:1;object-fit:var(--project-media-fit,cover);width:100%;height:100%;display:block;position:relative}.project-media[data-media-state=failed]{background:radial-gradient(circle at center, color-mix(in srgb, var(--accent) 25%, transparent), transparent 42%), #050d18}.project-card__index{z-index:2;color:var(--accent);font-family:var(--font-mono);background:#03050bc7;border-radius:.2rem;padding:.2rem .35rem;font-size:.7rem;position:absolute;top:1rem;right:1rem}.project-card__orbit{z-index:0;border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:50%;width:17rem;height:5rem;position:absolute;rotate:-24deg}.project-card__body{flex-direction:column;flex:1;align-items:flex-start;padding:1.35rem;display:flex}.eyebrow{margin:0 0 .9rem}.status{color:var(--colour-amber);font-family:var(--font-mono);align-items:center;gap:.5rem;margin:0 0 .7rem;font-size:.74rem;display:flex}.status span{background:currentColor;border-radius:50%;flex:none;width:.48rem;height:.48rem;box-shadow:0 0 9px}.status--live{color:var(--colour-mint)}.status--private{color:#c9baff}.project-card h3{letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:580}.project-card__body>p:not(.eyebrow,.status){color:var(--colour-muted);margin:.9rem 0 1.4rem;line-height:1.55}.project-card__button,.primary-action{border:1px solid color-mix(in srgb, var(--accent) 60%, transparent);background:color-mix(in srgb, var(--accent) 9%, transparent);min-height:44px;color:var(--colour-text);cursor:pointer;font-family:var(--font-mono);border-radius:.4rem;justify-content:center;align-items:center;gap:.7rem;margin-top:auto;padding:.65rem 1rem;font-size:.78rem;text-decoration:none;display:inline-flex}.project-card__button:hover,.primary-action:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent)}.static-project-details{width:100%;color:var(--colour-muted);margin-top:1rem;font-size:.9rem;line-height:1.55}.static-project-details summary{min-height:44px;color:var(--colour-text);cursor:pointer;font-family:var(--font-mono);padding-block:.7rem}.static-project-details ul{padding-left:1.2rem}.static-project-action{width:100%;margin-top:1rem}.static-project-action>a{min-height:44px;color:var(--accent);font-family:var(--font-mono);align-items:center;gap:.45rem;padding:.65rem 0;font-size:.78rem;display:inline-flex}.static-unavailable-action{border-left:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent);gap:.35rem;padding:.85rem;display:grid}.static-unavailable-action span{color:var(--colour-muted);font-size:.86rem;line-height:1.5}footer{color:var(--colour-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #94a9ba24;justify-content:space-between;gap:1rem;padding:1.5rem 0 2rem;font-size:.68rem;display:flex}.noscript-information{background:#05111de6;border:1px solid #40e0ff47;border-radius:.75rem;max-width:48rem;margin:0 auto 3rem;padding:1.5rem}.noscript-information h2{margin-top:0}.noscript-information p{color:var(--colour-muted);line-height:1.6}.noscript-information a,.noscript-information summary{color:var(--colour-cyan)}.noscript-information summary{cursor:pointer;min-height:44px;padding-block:.65rem}.neural-circuit-background{z-index:0;pointer-events:none;user-select:none;background:var(--colour-void);transition:filter .32s,scale .32s;display:block;position:fixed;inset:0;overflow:hidden}.neural-circuit-background img{object-fit:cover;object-position:center;opacity:.68;width:100%;height:100%;display:block}.neural-circuit-background:after{content:"";background:radial-gradient(at 50% 49%,#03050ba3 0%,#03050b61 29%,#0000 62%),linear-gradient(#02050b14,#02050b33);position:absolute;inset:0}.semantic-fallback{z-index:3;position:relative}.site-shell:has(.experience[data-enhancement=ready]){width:100%;height:100dvh;min-height:0;overflow:hidden}.site-shell:has(.experience[data-enhancement=ready]) .site-header{padding:max(1rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) 1rem max(1.5rem, env(safe-area-inset-left));pointer-events:none;position:fixed;inset:0 0 auto}.site-shell:has(.experience[data-enhancement=ready]) .site-header a{pointer-events:auto}.site-shell:has(.experience[data-enhancement=ready]) footer{display:none}.neural-scene{z-index:1;touch-action:none;background:radial-gradient(circle at 50% 48%,#114e7024,#0000 28%),radial-gradient(circle at 74% 27%,#8b5cf61a,#0000 24%),linear-gradient(145deg,#02050b70,#0507135c 58%,#02050a7a);position:fixed;inset:0;overflow:hidden}.experience[data-modal-phase=open] .neural-circuit-background,.experience[data-modal-phase=awaiting-history] .neural-circuit-background,.experience[data-modal-phase=closing] .neural-circuit-background,.experience[data-modal-phase=open] .neural-scene,.experience[data-modal-phase=awaiting-history] .neural-scene,.experience[data-modal-phase=closing] .neural-scene{filter:blur(3px)brightness(.6);scale:1.012}.experience[data-modal-phase=open] .neural-circuit-background,.experience[data-modal-phase=awaiting-history] .neural-circuit-background,.experience[data-modal-phase=closing] .neural-circuit-background{filter:blur(3px)brightness(.26)}.neural-scene:after{pointer-events:none;content:"";background:radial-gradient(circle,#0000 45%,#010308a3 100%);position:absolute;inset:0}.neural-scene canvas{width:100%;height:100%;display:block}.orbital-card{--accent:var(--colour-cyan);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);width:clamp(17rem,18vw,21rem);min-height:clamp(11rem,12vw,13rem);box-shadow:inset 0 1px #ffffff0f, 0 0 30px color-mix(in srgb, var(--accent) 14%, transparent);text-align:left;background:linear-gradient(145deg,#0b1f33f0,#040c17e0);border-radius:.7rem;grid-template-columns:clamp(4.25rem,4.4vw,5.25rem) 1fr;align-items:center;gap:clamp(.85rem,1vw,1.1rem);padding:1rem;transition:border-color .18s,box-shadow .18s,scale .18s,opacity .18s;display:grid;overflow:hidden}.orbital-card--mint{--accent:var(--colour-mint)}.orbital-card--violet{--accent:#a884ff}.orbital-card[data-focused=true]{border-color:var(--accent);box-shadow:inset 0 1px #ffffff14, 0 0 46px color-mix(in srgb, var(--accent) 25%, transparent);cursor:pointer}.orbital-card[aria-hidden=true]{visibility:hidden}.orbital-card__visual{border:1px solid color-mix(in srgb, var(--accent) 65%, transparent);width:clamp(4.25rem,4.4vw,5.25rem);height:clamp(4.25rem,4.4vw,5.25rem);color:var(--colour-text);font-family:var(--font-mono);letter-spacing:.14em;text-shadow:0 0 16px var(--accent);border-radius:.55rem;place-items:center;font-size:clamp(1.25rem,1.35vw,1.55rem);font-weight:700;display:grid;overflow:hidden}.orbital-card__visual .project-media{aspect-ratio:auto!important}.orbital-card__visual .project-media__fallback{font-size:inherit}.orbital-card__copy{gap:.35rem;min-width:0;display:grid}.orbital-card__copy small{color:var(--accent);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:clamp(.65rem,.62vw,.76rem)}.orbital-card__copy strong{letter-spacing:-.025em;font-size:clamp(1.08rem,1.15vw,1.35rem)}.orbital-card__copy>span{color:var(--colour-muted);font-size:clamp(.75rem,.76vw,.9rem);line-height:1.45}.experience-hud{z-index:20;pointer-events:none;position:fixed;inset:0}.reticle{width:clamp(22rem,32vw,30rem);height:clamp(11rem,18vw,15rem);position:absolute;top:50%;left:50%;translate:-50% -50%}.reticle:before,.reticle:after{content:"";border-block:1px solid #40e0ffa3;width:1.1rem;height:70%;position:absolute;top:15%}.reticle:before{border-left:1px solid #40e0ffa3;left:0}.reticle:after{border-right:1px solid #40e0ffa3;right:0}.hud-current{bottom:max(1.6rem, env(safe-area-inset-bottom));left:max(1.5rem, env(safe-area-inset-left));gap:.25rem;max-width:18rem;display:grid;position:absolute}.hud-current p{margin:0}.hud-current strong{font-size:1.25rem}.hud-current>span{color:var(--colour-muted);font-family:var(--font-mono);font-size:.68rem}.hud-controls{bottom:max(1.5rem, env(safe-area-inset-bottom));pointer-events:auto;gap:.5rem;display:flex;position:absolute;left:50%;translate:-50%}.hud-toggles{top:max(6rem, calc(env(safe-area-inset-top) + 5rem));right:max(1.5rem, env(safe-area-inset-right));pointer-events:auto;gap:.5rem;display:flex;position:absolute}.hud-controls button,.hud-toggles button{cursor:pointer;min-width:44px;min-height:44px;color:var(--colour-text);font-family:var(--font-mono);background:#05111de6;border:1px solid #40e0ff61;border-radius:.45rem;padding:.65rem .85rem;font-size:.68rem}.hud-controls button:hover,.hud-toggles button:hover{border-color:var(--colour-cyan);background:#113145f0}.hud-toggles button[aria-pressed=true]{border-color:var(--colour-mint);box-shadow:0 0 18px #69ffd51f}.hud-toggles button:disabled{cursor:not-allowed;opacity:.58}.hud-controls .hud-open{color:var(--colour-text);font-family:var(--font-mono);padding-inline:1.1rem;font-size:.72rem}.hud-instructions{right:max(1.5rem, env(safe-area-inset-right));bottom:max(1.8rem, env(safe-area-inset-bottom));color:var(--colour-muted);font-family:var(--font-mono);margin:0;font-size:.65rem;position:absolute}.intro-overlay{--intro-assembly-duration:2.4s;--intro-reveal-duration:.42s;z-index:60;background:radial-gradient(circle,#10344933,#0000 32%),#010309;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.intro-overlay[data-mode=returning]{--intro-assembly-duration:.32s;--intro-reveal-duration:.32s}.intro-overlay[data-mode=reduced]{--intro-assembly-duration:.3s;--intro-reveal-duration:.3s}.intro-overlay[data-state=revealing]{animation:intro-overlay-out var(--intro-reveal-duration) ease both}.intro-overlay[data-mode=returning][data-state=revealing],.intro-overlay[data-mode=reduced][data-state=revealing]{animation-name:intro-ready-fade}.intro-overlay[data-state=skipped]{animation:.18s both intro-overlay-out}.intro-assembly{aspect-ratio:1.8;place-items:center;width:min(72vw,42rem);display:grid;position:relative}.intro-assembly__aperture{aspect-ratio:1;width:min(54vw,23rem);animation:intro-aperture var(--intro-assembly-duration) cubic-bezier(.22, .7, .2, 1) both;border:1px solid #40e0ff61;border-radius:50%;position:absolute;box-shadow:inset 0 0 60px #40e0ff14,0 0 70px #8b5cf61f}.intro-assembly__line{background:linear-gradient(90deg, transparent, var(--colour-cyan), transparent);transform-origin:50%;width:82%;height:1px;animation:intro-line var(--intro-assembly-duration) ease both;position:absolute;scale:0 1}.intro-assembly__line--one{rotate:14deg}.intro-assembly__line--two{animation-delay:90ms;rotate:-19deg}.intro-assembly__identity{opacity:0;filter:blur(8px);text-align:center;animation:intro-identity var(--intro-assembly-duration) cubic-bezier(.22, .7, .2, 1) both;gap:.2rem;display:grid}.intro-assembly__identity strong{letter-spacing:-.06em;font-size:clamp(2.1rem,7vw,5.5rem)}.intro-assembly__identity em{color:var(--colour-cyan);font-style:normal}.intro-assembly__identity small{color:var(--colour-muted);font-family:var(--font-mono);letter-spacing:.42em;font-size:clamp(.58rem,1.2vw,.78rem)}.intro-skip{right:max(1.5rem, env(safe-area-inset-right));bottom:max(1.5rem, env(safe-area-inset-bottom));min-width:44px;min-height:44px;color:var(--colour-text);cursor:pointer;font-family:var(--font-mono);background:#05111de6;border:1px solid #40e0ff73;border-radius:.45rem;padding:.65rem 1rem;font-size:.72rem;position:absolute}@keyframes intro-aperture{0%{opacity:0;scale:.08}35%{opacity:.55;scale:.55}72%,to{opacity:1;scale:1}}@keyframes intro-line{0%,18%{opacity:0;scale:0 1}54%,to{opacity:.66;scale:1}}@keyframes intro-identity{0%,38%{opacity:0;filter:blur(8px);translate:0 .5rem}72%,to{opacity:1;filter:blur();translate:0}}@keyframes intro-overlay-out{0%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes intro-ready-fade{0%,70%{opacity:1}to{opacity:0;visibility:hidden}}.modal-backdrop{z-index:80;padding:max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));overscroll-behavior:contain;backdrop-filter:blur(14px);background:#010308e0;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.modal-backdrop[data-phase=open]{animation:.45s both modal-backdrop-in}.modal-backdrop[data-phase=closing]{animation:.32s both modal-backdrop-out}.modal-panel{--accent:var(--colour-cyan);border:1px solid color-mix(in srgb, var(--accent) 48%, transparent);max-height:calc(100dvh - 3rem);box-shadow:0 0 90px color-mix(in srgb, var(--accent) 11%, transparent);background:#050e1afa;border-radius:1rem;position:relative;overflow:hidden}.project-modal{width:min(75vw,1280px);height:min(75dvh,800px)}.information-modal{width:min(92vw,54rem);height:min(88dvh,52rem)}.modal-backdrop[data-phase=open] .modal-panel{animation:.45s cubic-bezier(.2,.72,.2,1) both modal-panel-in}.modal-backdrop[data-phase=closing] .modal-panel{animation:.32s both modal-panel-out}@keyframes modal-backdrop-in{0%{opacity:0}}@keyframes modal-backdrop-out{to{opacity:0}}@keyframes modal-panel-in{0%{opacity:0;border-color:#0000;translate:0 1.25rem;scale:.965}}@keyframes modal-panel-out{to{opacity:0;border-color:#0000;translate:0 .65rem;scale:.98}}.modal-layout{grid-template-columns:minmax(16rem,.9fr) minmax(22rem,1.2fr);height:100%;min-height:0;display:grid;overflow:hidden}.modal-close{z-index:4;top:max(.8rem, env(safe-area-inset-top));right:max(.8rem, env(safe-area-inset-right));cursor:pointer;background:#03050beb;border:1px solid #eaf7ff57;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font-size:1.7rem;display:grid;position:absolute}.modal-visual{border-bottom:0;border-right:1px solid #94a9ba26;min-height:100%}.modal-visual:before{width:min(25vw,23rem);height:min(25vw,23rem)}.modal-visual .project-media__fallback{font-size:clamp(2.5rem,5vw,5rem)}.modal-visual small{z-index:2;color:var(--accent);font-family:var(--font-mono);letter-spacing:.12em;background:#03050bd1;border-radius:.25rem;padding:.3rem .45rem;font-size:.65rem;position:absolute;bottom:1.5rem}.modal-content{overscroll-behavior:contain;scrollbar-color:var(--accent) #94a9ba14;min-height:0;padding:clamp(2rem,4vw,4rem);overflow:auto}.modal-content h2{letter-spacing:-.055em;margin:.65rem 0 0;padding-right:2rem;font-size:clamp(2rem,4vw,4rem);font-weight:550;line-height:1}.status-detail{color:var(--colour-muted);margin:-.25rem 0 1.5rem;font-size:.82rem}.modal-summary{font-size:1.08rem;font-weight:550;color:var(--colour-text)!important}.modal-content p,.modal-content li{color:var(--colour-muted);line-height:1.6}.modal-content h3{margin:1.7rem 0 .8rem;font-size:1rem}.modal-content ul{gap:.5rem;padding-left:1.2rem;display:grid}.modal-content li::marker{color:var(--accent)}.primary-action{--accent:inherit;margin-top:1rem}.unavailable-action{border-left:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent);gap:.3rem;margin-top:1.5rem;padding:1rem;display:grid}.unavailable-action span{color:var(--colour-muted);font-size:.86rem}.information-modal__scroll{overscroll-behavior:contain;scrollbar-color:var(--accent) #94a9ba14;height:100%;padding:clamp(2rem,5vw,4rem) clamp(3.5rem,6vw,5rem) clamp(2rem,5vw,4rem) clamp(2rem,5vw,4rem);overflow:auto}.information-modal__scroll>.eyebrow{color:var(--colour-cyan)}.information-modal__scroll h2{letter-spacing:-.055em;max-width:13ch;margin:0;font-size:clamp(2.1rem,5vw,4.5rem);font-weight:550;line-height:.98}.information-modal__intro{max-width:42rem;color:var(--colour-muted);margin:1.1rem 0 2rem;font-size:1.05rem;line-height:1.6}.information-modal__scroll section{border-top:1px solid #94a9ba2e;max-width:44rem;padding-top:1.5rem}.information-modal__scroll section+section{margin-top:1.5rem}.information-modal__scroll h3{margin:0 0 .75rem;font-size:1.1rem}.information-modal__scroll p,.information-modal__scroll li{color:var(--colour-muted);line-height:1.65}.information-modal__scroll a,.text-button{color:var(--colour-cyan);text-underline-offset:.2em}.information-modal__scroll code{overflow-wrap:anywhere;color:var(--colour-mint);font-family:var(--font-mono);font-size:.88em}.contact-form{gap:1.25rem;max-width:44rem;display:grid}.contact-field{gap:.45rem;display:grid}.contact-field label,.contact-field__label-row span{font-family:var(--font-mono);font-size:.74rem}.contact-field__label-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.contact-field__label-row span{color:var(--colour-muted)}.contact-field input,.contact-field textarea{width:100%;min-height:48px;color:var(--colour-text);font:inherit;background:#03080fdb;border:1px solid #94a9ba57;border-radius:.45rem;padding:.8rem .9rem}.contact-field textarea{resize:vertical;min-height:10rem;line-height:1.5}.contact-field input:hover,.contact-field textarea:hover{border-color:#40e0ffad}.contact-field input[aria-invalid=true],.contact-field textarea[aria-invalid=true]{border-color:var(--colour-error)}.contact-field__error{color:#ff9bb4;font-size:.82rem}.contact-field__error:before{content:"Error: ";font-weight:700}.contact-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-privacy-note{color:var(--colour-muted);margin:0;font-size:.88rem;line-height:1.55}.text-button{cursor:pointer;background:0 0;border:0;min-height:24px;padding:0;text-decoration:underline}.contact-feedback{min-height:2.85rem;color:var(--colour-muted);background:#94a9ba0f;border-left:2px solid #94a9ba80;padding:.75rem .9rem;line-height:1.4}.contact-feedback[data-contact-state=idle]{background:0 0;border:0;min-height:0;padding:0}.contact-feedback[data-contact-state=pending]{border-color:var(--colour-cyan);color:var(--colour-text)}.contact-feedback[data-contact-state=success]{border-color:var(--colour-mint);color:var(--colour-mint)}.contact-feedback[data-contact-state=validation],.contact-feedback[data-contact-state=too-fast],.contact-feedback[data-contact-state=rate-limited],.contact-feedback[data-contact-state=timeout],.contact-feedback[data-contact-state=network-error],.contact-feedback[data-contact-state=server-error]{border-color:var(--colour-error);color:#ffb1c4}.contact-actions{flex-wrap:wrap;gap:.75rem;display:flex}.contact-actions .primary-action{margin:0}.secondary-action{min-height:44px;color:var(--colour-text);cursor:pointer;font-family:var(--font-mono);background:0 0;border:1px solid #94a9ba59;border-radius:.4rem;padding:.65rem 1rem;font-size:.78rem}.contact-actions button:disabled{cursor:wait;opacity:.58}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width<=1020px){.hud-instructions{display:none}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card:last-child{grid-column:1/-1}.project-modal{width:min(94vw,850px);height:min(90dvh,900px);max-height:90dvh}.information-modal{width:min(94vw,54rem);height:min(90dvh,52rem);max-height:90dvh}.modal-layout{grid-template:minmax(11rem,28%) minmax(0,1fr)/1fr}.modal-visual{border-bottom:1px solid #94a9ba26;border-right:0;min-height:0}.modal-visual:before{width:10rem;height:10rem}}@media (width<=680px){.site-shell{width:min(100% - 2rem,1600px)}.site-header{min-height:5.5rem}.exhibit-label{display:none}.intro{min-height:auto;padding:5rem 0 4rem}.intro h1{font-size:clamp(2.75rem,14vw,4.5rem)}.fallback-heading{display:block}.fallback-heading>p{margin-top:1rem}.project-grid{grid-template-columns:1fr}.project-card,.project-card:last-child{grid-column:auto;min-height:29rem}footer{flex-direction:column}.site-shell:has(.experience[data-enhancement=ready]) .site-header{padding-inline:1rem}.orbital-card{grid-template-columns:3.5rem 1fr;gap:.75rem;width:min(16.5rem,100vw - 2.5rem);min-height:10.75rem;padding:.9rem}.orbital-card[data-focused=true]{border-color:var(--accent)}.orbital-card__visual{width:3.5rem;height:3.5rem;font-size:1rem}.orbital-card__copy>span{font-size:.75rem;line-height:1.4}.reticle{width:min(21.5rem,100vw - 1rem);height:12rem;top:48%}.reticle:before,.reticle:after{width:.75rem}.hud-current{top:max(6rem, calc(env(safe-area-inset-top) + 5.5rem));bottom:auto;left:1rem}.hud-current strong{font-size:1rem}.hud-controls{right:1rem;bottom:max(1rem, env(safe-area-inset-bottom));justify-content:center;left:1rem;translate:0}.hud-toggles{top:max(5.6rem, calc(env(safe-area-inset-top) + 5rem));grid-template-columns:repeat(2,minmax(0,1fr));width:10.5rem;display:grid;right:1rem}.hud-toggles button{padding:.55rem .7rem;font-size:.62rem}.hud-current{max-width:8.5rem}.hud-controls .hud-open{flex:1;max-width:12rem}.hud-instructions{display:none}.modal-backdrop{padding:max(3dvh, env(safe-area-inset-top)) max(3vw, env(safe-area-inset-right)) max(3dvh, env(safe-area-inset-bottom)) max(3vw, env(safe-area-inset-left))}.project-modal{width:94vw;height:90dvh;max-height:90dvh}.information-modal{width:94vw;height:90dvh}.information-modal__scroll{padding:1.5rem;padding-top:3.75rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom))}.information-modal__scroll h2{font-size:clamp(2rem,10vw,3rem)}.modal-layout{grid-template-rows:minmax(9rem,24%) minmax(0,1fr)}.modal-content{padding:1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom))}.modal-content h2{font-size:clamp(2rem,10vw,3rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.modal-backdrop,.modal-panel{filter:none!important;animation-duration:.12s!important;animation-delay:0s!important;translate:0!important}.intro-assembly__aperture,.intro-assembly__line{animation-duration:.3s!important;scale:1!important}.intro-assembly__identity{filter:none!important;animation-duration:.3s!important;translate:0!important}.intro-overlay[data-mode=reduced][data-state=revealing]{animation-duration:.3s!important;animation-delay:0s!important}}@media (forced-colors:active){.neural-circuit-background{display:none}.project-card,.modal-panel,.project-card__button,.primary-action,.secondary-action,.fallback-site-controls button,.orbital-card,.hud-controls button,.hud-toggles button{border:1px solid canvastext}}
