/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.resize{resize:both}.lowercase{text-transform:lowercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#020407;--ink-raised:#060b12;--paper:#f5f8ff;--muted:#758091;--muted-bright:#a9b4c4;--line:#a5c2e624;--blue:#3e78b3;--blue-bright:#6c9dca;--blue-deep:#294e78}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{background:var(--ink);color:var(--paper);margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{color:#fff;background:var(--blue)}.noise{z-index:30;pointer-events:none;opacity:.035;mix-blend-mode:screen;background-image:repeating-radial-gradient(circle at 18% 27%,#fff 0 .35px,#0000 .6px 3px),repeating-radial-gradient(circle at 77% 63%,#fff 0 .3px,#0000 .55px 4px);background-size:9px 11px,13px 15px;position:fixed;inset:0}.site-header{z-index:20;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:100%;padding:30px 42px;display:flex;position:absolute;top:0;left:0}.site-header:after{content:"";background:var(--blue-bright);width:4px;height:4px;box-shadow:0 0 12px var(--blue);border-radius:50%;position:absolute;bottom:-2px;right:42px}.wordmark{letter-spacing:.12em;font-size:11px;font-weight:700}.wordmark span{color:var(--blue-bright);margin-left:4px}nav{color:var(--muted-bright);font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;text-transform:uppercase;gap:34px;font-size:9px;display:flex}nav a,.text-link,.email-link{transition:color .18s,border-color .18s,text-shadow .18s}nav a:hover,nav a:focus-visible,.text-link:hover,.text-link:focus-visible{color:var(--blue-bright);text-shadow:0 0 18px #3e78b366}.hero{isolation:isolate;flex-direction:column;justify-content:center;min-height:100svh;padding:130px 6vw 52px;display:flex;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";pointer-events:none;position:absolute}.hero:before{z-index:-2;opacity:.43;background-image:linear-gradient(#7395bb1c 1px,#0000 1px),linear-gradient(90deg,#7395bb1c 1px,#0000 1px);background-size:12.5vw 12.5vw;inset:0;-webkit-mask-image:linear-gradient(#0000 2%,#000 22% 76%,#0000 100%);mask-image:linear-gradient(#0000 2%,#000 22% 76%,#0000 100%)}.hero:after{z-index:-1;background:linear-gradient(90deg,#020407e6 0%,#020407ad 34%,#02040714 72%),linear-gradient(#0000 75%,#020407cc 100%);inset:0}.galaxy-wrap{--scroll-shift:0px;z-index:-1;pointer-events:none;filter:saturate(.74)contrast(1.08);will-change:contents;width:100%;height:100%;position:absolute;inset:0}.galaxy-photo-depth{z-index:0;transform:translate3d(0, var(--scroll-shift), 0);will-change:transform;position:absolute;inset:-22%}.galaxy-photo{opacity:.68;mix-blend-mode:screen;filter:contrast(1.04)brightness(.78);transform-origin:70% 46%;will-change:transform;background-image:url(/galaxy-field.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;animation:1272s linear infinite galaxy-photo-spin;position:absolute;inset:0}.galaxy-canvas{z-index:1;width:100%;height:100%;display:block;position:relative}.galaxy-lens,.galaxy-vignette{position:absolute;inset:0}.galaxy-lens{z-index:2;mix-blend-mode:screen;background:radial-gradient(at 72% 49%,#6a94bc07,#0000 34%),linear-gradient(112deg,#0000 42%,#2f517505 58%,#0000 72%)}.galaxy-vignette{z-index:3;background:linear-gradient(90deg,#02040757 0%,#0000 26% 84%,#020407a3 100%),linear-gradient(#02040799,#0000 14% 82%,#020407c7)}@keyframes galaxy-photo-spin{0%{transform:rotate(0)scale(1.12)}to{transform:rotate(360deg)scale(1.12)}}.motion-control{z-index:5;color:#bdcad7;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:manipulation;background:#03080ea8;border:1px solid #9fbedc4d;border-radius:999px;padding:9px 12px;font-size:7px;display:none;position:absolute;top:132px;right:22px}.motion-control:focus-visible{outline:1px solid var(--blue-bright);outline-offset:3px}.hero-coordinates{z-index:3;color:#a9b4c49e;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;gap:22px;font-size:8px;display:flex;position:absolute;top:118px;right:42px}.eyebrow,.section-label{z-index:3;font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:9px;position:relative}.eyebrow{color:var(--blue-bright);align-items:center;gap:13px;margin-bottom:28px;display:flex}.eyebrow span{background:currentColor;width:50px;height:1px;position:relative;box-shadow:0 0 8px}.eyebrow span:after{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;top:-2px;right:-1px}h1,h2{z-index:3;letter-spacing:-.065em;margin:0;font-weight:400;line-height:.88;position:relative}.hero-title{white-space:nowrap;letter-spacing:-.075em;text-transform:uppercase;text-shadow:0 8px 40px #0000006b;align-items:baseline;max-width:1130px;font-size:clamp(70px,10.3vw,158px);font-weight:590;display:flex}.hero-title strong{color:#0000;-webkit-text-stroke:1.5px #84afd6f2;text-shadow:0 0 20px #3e78b33d,0 0 60px #3e78b32b;margin-left:.09em;font-weight:600}.hero-tagline{z-index:3;align-items:center;gap:28px;width:min(100%,990px);margin-top:30px;display:flex;position:relative}.hero-tagline p{letter-spacing:.26em;text-transform:uppercase;margin:0;font-size:clamp(20px,2.1vw,32px)}.hero-tagline em,h2 em{color:var(--blue-bright);letter-spacing:0;text-transform:none;text-shadow:0 0 28px #3e78b352;font-family:Georgia,Times New Roman,serif;font-weight:400}.signal{align-items:center;gap:3px;height:22px;display:flex}.signal i{background:var(--blue-bright);width:1px;height:7px;box-shadow:0 0 7px var(--blue);animation:1.7s ease-in-out infinite signal;display:block}.signal i:nth-child(2){height:15px;animation-delay:-.9s}.signal i:nth-child(3){height:21px;animation-delay:-.4s}.signal i:nth-child(4){height:10px;animation-delay:-1.2s}@keyframes signal{50%{opacity:.4;transform:scaleY(.4)}}.hero-footer{z-index:3;justify-content:space-between;align-items:flex-end;gap:40px;width:min(68vw,890px);margin-top:52px;display:flex;position:relative}.intro{max-width:515px;color:var(--muted-bright);letter-spacing:-.015em;margin:0;font-size:clamp(15px,1.25vw,19px);line-height:1.55}.text-link{font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid;align-items:center;gap:20px;padding-bottom:8px;font-size:9px;display:flex}.text-link span{color:var(--blue-bright);font-size:17px}.hero-index{z-index:3;color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;align-items:center;gap:10px;font-size:8px;display:flex;position:absolute;bottom:47px;right:42px}.hero-index div{background:#ffffff2e;width:64px;height:1px;position:relative;overflow:hidden}.hero-index div:after{content:"";background:var(--blue-bright);box-shadow:0 0 10px var(--blue);position:absolute;inset:0 65% 0 0}.statement,.contact{border-top:1px solid var(--line);padding:130px 6vw;position:relative}.section-label{color:var(--muted)}.statement{background:radial-gradient(circle at 88% 42%,#2e5b8b1a,#0000 24%),linear-gradient(#070b11,#030609);grid-template-columns:1fr 3fr;gap:40px;display:grid;overflow:hidden}.statement-copy{z-index:2;letter-spacing:-.055em;max-width:1040px;margin:0;font-size:clamp(39px,5.2vw,79px);line-height:1.035;position:relative}.statement-copy span{color:var(--muted)}.statement-note{z-index:2;border-top:1px solid var(--line);max-width:440px;color:var(--muted-bright);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;grid-column:2;margin:42px 0 0;padding-top:18px;font-size:9px;line-height:1.7;position:relative}.practice-orbit{aspect-ratio:1;border:1px solid #3e78b31f;border-radius:50%;width:31vw;min-width:320px;position:absolute;bottom:-15vw;right:-7vw}.practice-orbit span{border:1px dashed #6c9dca30;border-radius:50%;position:absolute;inset:16%;transform:rotate(30deg)scaleY(.42)}.practice-orbit span:nth-child(2){inset:28%;transform:rotate(-38deg)scaleY(.58)}.practice-orbit i{background:var(--blue-bright);width:7px;height:7px;box-shadow:0 0 24px 6px var(--blue);border-radius:50%;position:absolute;top:49%;left:49%}.case-study,.applications{border-top:1px solid var(--line);padding:130px 6vw;position:relative}.case-study{background:radial-gradient(circle at 83% 18%,#3e78b324,#0000 26%),#030609}.case-meta{justify-content:space-between;align-items:center;margin-bottom:72px;display:flex}.case-link{border-bottom:1px solid var(--line);color:var(--muted-bright);font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:16px;padding-bottom:7px;font-size:9px;transition:color .18s,border-color .18s;display:inline-flex}.case-link span{color:var(--blue-bright);font-size:16px}.case-link:hover,.case-link:focus-visible{color:var(--blue-bright);border-color:var(--blue-bright)}.case-heading{grid-template-columns:minmax(0,1.6fr) minmax(300px,.75fr);align-items:end;gap:7vw;margin-bottom:58px;display:grid}.case-heading h3,.app-copy h3,.app-card-copy h3{letter-spacing:-.06em;margin:0;font-weight:400}.case-heading h3{font-size:clamp(68px,10vw,154px);line-height:.86}.case-heading>p{color:var(--muted-bright);margin:0;font-size:clamp(17px,1.45vw,22px);line-height:1.55}.case-image{border:1px solid var(--line);background:#020305;margin:0;position:relative;overflow:hidden}.case-image:after,.app-image:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 80px #01030666}.case-image img,.app-image img,.app-card-image img{object-fit:cover;width:100%;height:100%;display:block}.vp-image{aspect-ratio:1.9}.vp-image img{object-position:center 58%}.case-image figcaption{color:#d6dce5;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020407c7;padding:10px 13px;font-size:8px;position:absolute;bottom:20px;right:22px}.case-details{grid-template-columns:1.35fr 1fr;gap:8vw;margin-top:54px;margin-left:25%;display:grid}.case-details>p{color:#d0d7e1;letter-spacing:-.035em;margin:0;font-size:clamp(24px,2.5vw,38px);line-height:1.25}.case-details ul,.tags{margin:0;padding:0;list-style:none}.case-details li{border-bottom:1px solid var(--line);color:var(--muted-bright);font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;text-transform:uppercase;padding:13px 0;font-size:9px}.case-details li:first-child{border-top:1px solid var(--line)}.applications{background:linear-gradient(180deg, #0d1824a6, transparent 18%), var(--ink);padding-top:90px}.applications-header{grid-template-columns:1fr 3fr;gap:40px;margin-bottom:100px;display:grid}.applications-header h2{max-width:1100px;font-size:clamp(54px,7.4vw,116px)}.applications-header>p:last-child{max-width:570px;color:var(--muted-bright);grid-column:2;margin:42px 0 0;font-size:17px;line-height:1.6}.app-feature{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.85fr) minmax(320px,.75fr);align-items:center;gap:5vw;padding-bottom:110px;display:grid}.app-image{aspect-ratio:1.55;border:1px solid var(--line);background:#020305;position:relative;overflow:hidden}.app-image img{transition:transform .7s cubic-bezier(.2,.7,0,1)}.app-image:hover img,.app-image:focus-visible img{transform:scale(1.025)}.image-action{z-index:2;color:#e8edf3;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020407cc;border:1px solid #ffffff38;padding:11px 14px;font-size:8px;position:absolute;bottom:18px;right:20px}.app-index{color:var(--blue-bright);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:uppercase;margin:0 0 26px;font-size:8px}.app-copy h3{font-size:clamp(52px,6vw,92px);line-height:.92}.app-copy>p:not(.app-index),.app-card-copy>p:not(.app-index){color:var(--muted-bright);margin:30px 0 34px;font-size:16px;line-height:1.65}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags li{border:1px solid var(--line);color:#95a3b5;font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;text-transform:uppercase;padding:8px 10px;font-size:7px}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 42px;margin-top:0;display:grid}.app-card{border:1px solid var(--line);background:linear-gradient(145deg,#0c1520eb,#04080db8);border-radius:14px;min-width:0;overflow:hidden;box-shadow:0 18px 48px #00000029}.project-interactive{--tilt-x:0deg;--tilt-y:0deg;--image-x:0px;--image-y:0px;--light-x:50%;--light-y:50%;isolation:isolate;transform:perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;will-change:transform;transition:transform .6s cubic-bezier(.2,.75,.2,1),border-color .35s,box-shadow .5s}.project-interactive:before{content:"";z-index:4;pointer-events:none;background:radial-gradient(circle at var(--light-x) var(--light-y), #8bbbe42b, #4c80b00e 24%, transparent 52%);opacity:0;mix-blend-mode:screen;transition:opacity .45s;position:absolute;inset:0}.project-interactive[data-active=true],.project-interactive:focus-visible,.project-interactive:focus-within{border-color:#7aa9d37a;transition:transform .11s linear,border-color .28s,box-shadow .35s;box-shadow:0 30px 65px #00000052,0 0 42px #3e78b317}.project-interactive[data-active=true]:before,.project-interactive:focus-visible:before,.project-interactive:focus-within:before{opacity:1}.project-interactive img{transform:translate3d(var(--image-x), var(--image-y), 18px) scale(1.002);will-change:transform;transition:transform .65s cubic-bezier(.2,.75,.2,1),filter .5s}.project-interactive[data-active=true] img,.project-interactive:focus-visible img,.project-interactive:focus-within img{transform:translate3d(var(--image-x), var(--image-y), 18px) scale(1.035);filter:saturate(1.055)contrast(1.025)brightness(1.035);transition:transform .12s linear,filter .35s}.app-card.project-interactive{position:relative;overflow:hidden}.app-card.project-interactive .app-card-copy,.app-card.project-interactive .app-card-image{z-index:1;position:relative}.app-card.project-interactive .app-card-copy{transform:translateZ(10px)}.app-card.project-interactive .tags li{transition:color .3s,border-color .3s,background .3s}.app-card.project-interactive[data-active=true] .tags li,.app-card.project-interactive:focus-within .tags li{color:#aebdcd;background:#3e78b309;border-color:#7aa9d33d}.app-card-image{aspect-ratio:1.55;border-bottom:1px solid var(--line);background:#080b10;display:block;position:relative;overflow:hidden}.app-card-image img{object-position:top center}.app-card-image.light-ui{background:#dfe7eb;padding:18px 18px 0}.app-card-image.codex-ui{background:#f3f3f3}.app-card-image.codex-ui img{object-position:center 9%}.app-card-image.sail-ui{background:radial-gradient(circle at 50% 46%,#1290b424,#0000 45%),#04131d}.app-card-image.sail-ui img{object-fit:contain;object-position:center}.app-card-image.hotspot-ui{background:radial-gradient(circle,#6096cd24,#0000 48%),#07101a;padding:24px}.app-card-image.hotspot-ui img{object-fit:contain;object-position:center}.app-card-image.camera-tracker-ui{background:radial-gradient(circle at 72% 35%,#5085b633,#0000 44%),#050a0f}.app-card-image.camera-tracker-ui img{object-position:center}.app-card-image.vp-card-ui img{object-position:center 58%}@media (hover:none),(pointer:coarse){.project-interactive,.project-interactive img{will-change:auto;transform:none}}@media (prefers-reduced-motion:reduce){.project-interactive,.project-interactive img,.project-interactive:before{will-change:auto;transition:none;transform:none}}.app-card-copy{padding:clamp(28px,3.3vw,50px)}.app-card-copy h3{font-size:clamp(37px,4vw,62px);line-height:.96}.project-page{background:radial-gradient(circle at 76% 8%, #3a71a629, transparent 26%), var(--ink);min-height:100svh}.project-header{z-index:20;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:30px 42px;display:flex;position:relative}.project-back,.project-primary-link,.project-footer a{font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:14px;font-size:9px;transition:color .18s,border-color .18s;display:inline-flex}.project-back{color:var(--muted-bright)}.project-back span,.project-primary-link span,.project-footer span{color:var(--blue-bright);font-size:15px}.project-back:hover,.project-back:focus-visible,.project-primary-link:hover,.project-primary-link:focus-visible,.project-footer a:hover,.project-footer a:focus-visible{color:var(--blue-bright)}.project-hero{border-bottom:1px solid var(--line);padding:112px 6vw 130px;position:relative;overflow:hidden}.project-hero:before{content:"";pointer-events:none;opacity:.46;background-image:linear-gradient(#7395bb13 1px,#0000 1px),linear-gradient(90deg,#7395bb13 1px,#0000 1px);background-size:12.5vw 12.5vw;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 80%);mask-image:linear-gradient(#000,#0000 80%)}.project-hero-copy{z-index:2;max-width:1120px;position:relative}.project-hero h1{letter-spacing:-.075em;margin:0;font-size:clamp(74px,11.6vw,176px);font-weight:520;line-height:.82}.project-lede{color:#d0d8e3;letter-spacing:-.035em;max-width:790px;margin:48px 0 0;font-size:clamp(23px,2.6vw,40px);line-height:1.25}.project-actions{align-items:center;gap:28px;margin-top:46px;display:flex}.project-actions>span{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;font-size:8px}.project-primary-link{background:#1225377a;border:1px solid #85add257;padding:14px 16px}.project-hero-image{z-index:2;background:#030609;border:1px solid #85add240;margin:100px 0 0;position:relative;overflow:hidden;box-shadow:0 50px 120px #0000007a}.project-hero-image:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 90px #01040847}.project-hero-image img,.project-gallery img{width:100%;height:auto;display:block}.project-hero-image figcaption,.project-gallery figcaption{color:#cbd4df;width:fit-content;font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020407c7;margin-left:auto;padding:9px 11px;font-size:7px;line-height:1.4;position:absolute;bottom:16px;left:18px;right:18px}.project-intro,.project-outcome{border-bottom:1px solid var(--line);grid-template-columns:1fr 3fr;gap:40px;padding:130px 6vw;display:grid}.project-intro{background:radial-gradient(circle at 84% 30%,#2f5c891c,#0000 27%),#05090e}.project-intro h2,.project-section-heading h2,.project-outcome h2{letter-spacing:-.055em;margin:0;font-weight:400}.project-intro h2,.project-outcome h2{max-width:1000px;font-size:clamp(47px,6.6vw,98px);line-height:.98}.project-intro div>p,.project-outcome div>p{max-width:720px;color:var(--muted-bright);margin:50px 0 0;font-size:18px;line-height:1.7}.project-capabilities{border-bottom:1px solid var(--line);padding:130px 6vw}.project-section-heading{grid-template-columns:1fr 3fr;gap:40px;display:grid}.project-section-heading h2{max-width:1000px;font-size:clamp(48px,6.7vw,102px);line-height:.98}.project-capability-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:90px;display:grid}.project-capability-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,#0b141eb3,#04080d6b);min-height:290px;padding:32px 28px}.project-capability-grid article>p{color:var(--blue-bright);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;margin:0 0 66px;font-size:8px}.project-capability-grid h3{letter-spacing:-.035em;margin:0 0 20px;font-size:26px;font-weight:450}.project-capability-grid span{color:var(--muted-bright);font-size:14px;line-height:1.6}.project-gallery{border-bottom:1px solid var(--line);background:#030609;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:130px 6vw;display:grid}.project-gallery figure{border:1px solid var(--line);background:#05080c;min-width:0;margin:0;position:relative;overflow:hidden}.project-gallery-wide{grid-column:1/-1}.project-gallery figure:not(.project-gallery-wide){place-items:center;min-height:420px;display:grid}.project-gallery figure:not(.project-gallery-wide) img{object-fit:contain;width:100%;height:100%}.project-receiver-shot{padding:6%}.project-outcome{background:radial-gradient(circle at 15% 72%,#2f5c891f,#0000 28%),#05090e}.project-outcome div>p+p{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;padding-top:26px;font-size:10px}.project-footer{color:var(--muted-bright);justify-content:space-between;align-items:center;padding:38px 6vw 52px;display:flex}.codexcoffee-hero{grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr);align-items:center;gap:7vw;display:grid}.codexcoffee-hero .project-hero-copy{min-width:0}.codexcoffee-hero h1{font-size:clamp(72px,9.4vw,144px)}.codexcoffee-hero .project-actions{margin-top:38px}.codexcoffee-window{background:#f7f7f7;border-color:#85add24d;width:min(100%,620px);margin:0 auto;box-shadow:0 50px 120px #0000008f,0 0 70px #3e78b314}.codexcoffee-window img{aspect-ratio:620/772;object-fit:contain}.codexcoffee-outcome{background:radial-gradient(circle at 78% 34%,#30689721,#0000 28%),#05090e}.contact{background:radial-gradient(circle at 80% 45%,#274f7a24,#0000 32%),#020407;flex-direction:column;justify-content:center;min-height:100svh;padding-bottom:76px;display:flex;overflow:hidden}.contact-box{z-index:2;background:linear-gradient(115deg,#3e78b313,#0000 38%),#04080ed1;border:1px solid #7da1c440;flex-direction:column;justify-content:center;min-height:min(66svh,720px);padding:clamp(38px,5vw,76px);display:flex;position:relative;overflow:hidden;box-shadow:0 35px 100px #00000073,inset 0 1px #ffffff09}.contact-box:before{content:"";pointer-events:none;background-image:linear-gradient(#7395bb11 1px,#0000 1px),linear-gradient(90deg,#7395bb11 1px,#0000 1px);background-size:10vw 10vw;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 20%,#000);mask-image:linear-gradient(90deg,#0000 20%,#000)}.contact-box:after{content:"";aspect-ratio:1;pointer-events:none;border:1px solid #6c9dca2e;border-radius:50%;width:min(44vw,680px);position:absolute;top:50%;right:-13%;transform:translateY(-50%)scaleY(.46)rotate(-27deg)}.contact-box-top{z-index:3;justify-content:space-between;align-items:center;display:flex;position:absolute;top:clamp(28px,3.5vw,50px);left:clamp(30px,4vw,60px);right:clamp(30px,4vw,60px)}.availability{color:var(--muted-bright);font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:9px;margin:0;font-size:8px;display:flex}.availability span{background:var(--blue-bright);width:5px;height:5px;box-shadow:0 0 12px var(--blue);border-radius:50%}.contact h2{z-index:3;max-width:1200px;margin:35px 0 65px;font-size:clamp(58px,8.6vw,132px);position:relative}.contact-form{z-index:3;gap:12px;width:min(100%,760px);display:grid;position:relative}.contact-form-field{color:var(--muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.16em;gap:8px;font-size:8px;display:grid}.contact-form-field input,.contact-form-field textarea{width:100%;color:var(--text-primary);font-family:var(--font-geist), sans-serif;resize:vertical;background:#00000040;border:1px solid #f5f8ff85;outline:none;padding:14px 16px;font-size:16px}.contact-form-field input:focus,.contact-form-field textarea:focus{border-color:var(--blue-bright);box-shadow:0 0 20px #3e78b340}.contact-form-error{color:#ff9d9d;font-family:var(--font-geist), sans-serif;letter-spacing:0;text-transform:none;font-size:12px}.contact-form-error-global:empty{display:none}.contact-form-success{z-index:3;background:#234e7433;border:1px solid #7fb1dca6;align-items:center;gap:18px;width:min(100%,760px);padding:24px;display:flex;position:relative;box-shadow:0 0 40px #3e78b329}.contact-form-success>span{border:1px solid var(--blue-bright);width:38px;height:38px;color:var(--blue-bright);border-radius:50%;flex:none;place-items:center;display:grid}.contact-form-success p{margin:0 0 4px;font-size:20px}.contact-form-success small{color:var(--muted);font-size:13px}.email-link{z-index:3;width:min(100%,760px);color:var(--text-primary);letter-spacing:-.025em;cursor:pointer;background:#0003;border:1px solid #f5f8ff85;border-radius:0;justify-content:space-between;align-items:center;padding:22px 24px;font-size:clamp(18px,2vw,29px);text-decoration:none;display:flex;position:relative}.email-link:disabled{cursor:wait;opacity:.66}.email-link:hover,.email-link:focus-visible{color:var(--blue-bright);border-color:var(--blue-bright);text-shadow:0 0 20px #3e78b352;background:#3e78b312}.contact-box-index{z-index:3;color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;font-size:7px;position:absolute;bottom:clamp(27px,3.5vw,48px);right:clamp(30px,4vw,60px)}.contact-footer{z-index:3;color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;margin-top:24px;font-size:8px;display:flex;position:relative}.contact-glow{aspect-ratio:1;filter:blur(2px);background:radial-gradient(circle,#96bbdbad 0 .3%,#4780b54d 1%,#274f7a1f 12%,#0000 62%);border-radius:50%;width:min(42vw,650px);position:absolute;top:0;right:-5%}@media (width<=900px){.hero-title{font-size:clamp(65px,12.5vw,112px)}.hero-footer{width:77vw}.hero-tagline p{letter-spacing:.17em}.project-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.codexcoffee-hero{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:42px}}@media (width<=760px){.site-header{padding:24px 22px}.site-header:after{right:22px}.wordmark{font-size:9px}nav{gap:14px;font-size:7px}.project-header{padding:24px 22px}.project-back{font-size:7px}.project-hero{padding:90px 22px 84px}.project-hero:before{background-size:25vw 25vw}.project-hero h1{white-space:nowrap;font-size:clamp(39px,12.8vw,56px)}.codexcoffee-hero{display:block}.codexcoffee-hero h1{font-size:clamp(43px,13.8vw,58px)}.codexcoffee-window{width:min(100%,520px);margin-top:64px}.project-lede{margin-top:36px;font-size:23px}.project-actions{margin-top:36px;display:block}.project-actions>span{margin-top:20px;line-height:1.55;display:block}.project-hero-image{margin-top:64px}.project-hero-image figcaption,.project-gallery figcaption{max-width:calc(100% - 16px);margin-left:0;bottom:8px;left:8px;right:8px}.project-intro,.project-capabilities,.project-gallery,.project-outcome{padding:84px 22px}.project-intro,.project-outcome,.project-section-heading{display:block}.project-intro h2,.project-section-heading h2,.project-outcome h2{margin-top:44px;font-size:clamp(45px,14vw,68px)}.project-intro div>p,.project-outcome div>p{margin-top:38px;font-size:16px}.project-capability-grid{grid-template-columns:1fr;margin-top:62px}.project-capability-grid article{min-height:0}.project-capability-grid article>p{margin-bottom:40px}.project-gallery{grid-template-columns:1fr}.project-gallery-wide{grid-column:auto}.project-gallery figure:not(.project-gallery-wide){min-height:280px}.project-footer{gap:24px;padding:34px 22px 48px;display:grid}.hero{justify-content:flex-end;min-height:820px;padding:125px 22px 44px}.hero:before{background-size:25vw 25vw}.hero:after{background:linear-gradient(#0000 25%,#020407cc 57%,#020407fa 100%),linear-gradient(90deg,#02040766,#0000 52%)}.galaxy-wrap{width:100%;height:100%;inset:0}.galaxy-photo-depth{inset:-12%}.galaxy-photo{opacity:.62;transform-origin:66% 31%;background-position:64% 3%;background-size:auto 64%}.galaxy-vignette{background:linear-gradient(0deg, var(--ink) 0%, transparent 22%, transparent 78%, #020407a6), linear-gradient(90deg, #02040759, transparent 30%, transparent 77%, #02040773)}.motion-control{justify-content:center;align-items:center;display:inline-flex}.hero-coordinates{font-size:7px;top:95px;right:22px}.hero-coordinates span:first-child{display:none}.eyebrow{margin-bottom:22px}.hero-title{white-space:normal;font-size:clamp(57px,18vw,91px);line-height:.88;display:block}.hero-title strong{width:fit-content;margin:0;display:block}.hero-tagline{margin-top:27px;display:block}.hero-tagline p{letter-spacing:.15em;max-width:330px;font-size:16px;line-height:1.45}.signal{display:none}.hero-footer{width:100%;margin-top:30px;display:block}.intro{max-width:94%;font-size:15px}.text-link{width:fit-content;margin-top:30px}.hero-index{display:none}.statement,.case-study,.applications,.contact{padding:85px 22px}.statement{display:block}.statement-copy{margin-top:48px;font-size:38px}.statement-note{margin-top:45px}.practice-orbit{opacity:.55;right:-47vw}.applications-header{display:block}.applications-header h2{margin-top:46px;font-size:clamp(52px,15.5vw,76px)}.applications-header>p:last-child{margin-top:42px}.case-meta{align-items:flex-start;margin-bottom:54px}.case-link{font-size:7px}.case-heading{margin-bottom:38px;display:block}.case-heading h3{font-size:clamp(62px,19vw,91px)}.case-heading>p{margin-top:34px;font-size:16px}.vp-image{aspect-ratio:1.05}.vp-image img{object-position:center}.case-image figcaption{line-height:1.45;bottom:10px;left:10px;right:10px}.case-details{margin:40px 0 0;display:block}.case-details>p{font-size:27px}.case-details ul{margin-top:36px}.applications-header{margin-bottom:70px}.app-feature{padding-bottom:75px;display:block}.app-image{aspect-ratio:1.1;display:block}.app-image img{object-position:center}.app-copy{margin-top:42px}.app-copy h3{font-size:55px}.app-grid{grid-template-columns:1fr;gap:34px;margin-top:0}.applications{padding-top:54px}.app-card-image{aspect-ratio:1.35}.app-card-copy h3{font-size:42px}.contact{min-height:720px;padding-bottom:28px}.contact-box{min-height:590px;padding:34px 24px}.contact-box:before{background-size:28vw 28vw}.contact-box:after{width:140vw;right:-80%}.contact-box-top{top:27px;left:24px;right:24px}.availability{text-align:right;justify-content:flex-end;max-width:115px;line-height:1.45}.contact h2{margin:48px 0;font-size:clamp(48px,14.7vw,76px)}.email-link{padding:18px 15px;font-size:14px}.contact-footer{line-height:1.7;display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
