.process{background:var(--deep)}.process ol{display:block;max-width:1200px;margin:clamp(3.5rem,7vw,7rem) 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.process li{position:relative;display:grid;grid-template-columns:minmax(3.5rem,.45fr) minmax(10rem,1.2fr) minmax(16rem,.9fr);gap:clamp(1rem,3vw,4rem);align-items:baseline;padding:clamp(1.4rem,2.7vw,2.7rem) 0;overflow:hidden;border-bottom:1px solid var(--line);opacity:1;transform:translateX(-1rem);transition:transform .8s var(--ease)}.process li::before{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--lime);transform:scaleY(0);transform-origin:top;transition:transform .8s var(--ease)}.process li::after{content:attr(data-process-word);position:absolute;z-index:-1;right:-.04em;top:50%;color:rgba(116,168,255,.1);font-size:clamp(5rem,14vw,15rem);font-weight:600;letter-spacing:-.08em;line-height:.7;transform:translate3d(15%,-45%,0) skewX(-9deg);clip-path:inset(0 100% 0 0);transition:clip-path .75s var(--ease),transform .8s var(--ease),color .45s;white-space:nowrap}.process li.is-visible{opacity:1;transform:none}.process li.is-visible::before,.process li.is-active::before{transform:scaleY(1)}.process span{color:var(--lime);font:.65rem "Azeret Mono",monospace}.process strong{font-size:clamp(2rem,4.1vw,4.5rem);font-weight:500;letter-spacing:-.05em;line-height:.9}.process p{max-width:30ch;margin:0;color:#b9d0da;font-size:clamp(.94rem,1.15vw,1.12rem);line-height:1.46}.process li.is-active::after,.process li:hover::after{color:rgba(217,255,53,.15);transform:translate3d(0,-45%,0) skewX(-9deg);clip-path:inset(0)}.process li.is-active strong,.process li:hover strong{transform:translateX(.12em)}.process li.is-active p,.process li:hover p{color:#e2f1f6}.process li strong,.process li p{transition:transform .55s var(--ease),color .45s}
.contact{position:relative;isolation:isolate;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(3rem,7vw,10rem);padding:clamp(7rem,14vw,14rem) clamp(1.25rem,7.5vw,10rem);overflow:hidden;background:#061321}.contact-beam{position:absolute;z-index:-1;right:-25vw;top:-14vw;width:75vw;height:40vw;background:radial-gradient(ellipse,rgba(77,142,255,.48),transparent 66%);filter:blur(15px);transform:rotate(-30deg)}.contact-copy,.project-form{position:relative;z-index:3}.contact h2{font-size:clamp(3.8rem,8vw,8.4rem)}.contact h2 em{color:var(--lime)}.contact-copy>p:last-child{max-width:32ch;color:var(--mist);line-height:1.55}.project-form{align-self:end;display:grid;gap:1.3rem}.project-form label{display:grid;gap:.55rem;color:#b3ccd9;font:.63rem "Azeret Mono",monospace;text-transform:uppercase}.project-form input,.project-form textarea{width:100%;resize:vertical;border:0;border-bottom:1px solid var(--line);padding:.3rem 0 .75rem;outline:0;color:var(--paper);background:transparent;font:1rem Onest,sans-serif}.project-form input:focus,.project-form textarea:focus{border-color:var(--lime)}.project-form .button{justify-self:start;margin-top:.5rem}.form-note{margin:0;color:var(--mist);font-size:.69rem;line-height:1.45}.form-note.is-error{color:#ffb7a8}.form-note.is-success{color:var(--lime)}
.contact-signal{position:absolute;z-index:0;right:-7%;top:-18%;width:min(65vw,860px);aspect-ratio:1;opacity:.96;pointer-events:none}.contact-signal::before{content:"";position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle at 43% 38%,rgba(100,170,255,.31),rgba(7,17,30,.06) 41%,transparent 68%);box-shadow:0 0 125px rgba(52,126,255,.2)}.contact-signal::after{content:"";position:absolute;inset:4%;border:1px solid rgba(166,213,255,.13);border-radius:50%;transform:scaleY(.58) rotate(-28deg)}.contact-orbit{position:absolute;border:1px solid rgba(155,205,255,.32);border-radius:50%}.contact-orbit-a{inset:0;animation:contact-a 21s linear infinite}.contact-orbit-b{inset:22%;border-color:rgba(217,255,53,.58);animation:contact-b 13s linear infinite}.contact-orbit-c{inset:38%;border-color:rgba(77,142,255,.74);animation:contact-c 10s linear infinite}.contact-ray{position:absolute;left:49%;top:-10%;width:2px;height:120%;background:linear-gradient(transparent,var(--lime) 28%,rgba(77,142,255,.74) 62%,transparent);box-shadow:0 0 28px rgba(217,255,53,.42);animation:contact-scan 8s infinite var(--ease)}.contact-trail{position:absolute;left:5%;top:51%;width:93%;height:1px;background:linear-gradient(90deg,transparent,rgba(217,255,53,.85) 27%,rgba(77,142,255,.66) 62%,transparent);animation:trail 6.5s infinite var(--ease)}.contact-moon{position:absolute;z-index:2;left:42%;top:42%;width:22%;aspect-ratio:1;border-radius:50%;background:#07111e;box-shadow:15px 12px 0 #204fd7,0 0 45px rgba(77,142,255,.22);animation:moon 9s infinite alternate var(--ease)}.contact-point{position:absolute;z-index:3;right:22%;top:27%;width:1rem;height:1rem;border-radius:50%;background:var(--lime);box-shadow:0 0 0 9px rgba(217,255,53,.16),0 0 35px rgba(217,255,53,.74);animation:point 2.6s infinite var(--ease)}.contact-status{position:absolute;z-index:3;right:12%;bottom:13%;color:#b9d4e0;font:.56rem "Azeret Mono",monospace;text-transform:uppercase}.contact:has(.project-form :focus) .contact-signal{filter:brightness(1.24) saturate(1.18)}@keyframes contact-a{from{transform:rotate(-18deg) scaleY(.58)}to{transform:rotate(342deg) scaleY(.58)}}@keyframes contact-b{from{transform:rotate(38deg) scaleY(.52)}to{transform:rotate(-322deg) scaleY(.52)}}@keyframes contact-c{from{transform:rotate(-51deg) scaleY(.74)}to{transform:rotate(309deg) scaleY(.74)}}@keyframes contact-scan{0%,25%{opacity:0;transform:translateX(-16vw) rotate(32deg)}40%,70%{opacity:1}100%{opacity:0;transform:translateX(20vw) rotate(32deg)}}@keyframes trail{0%,24%{opacity:0;transform:rotate(-27deg) scaleX(.12)}43%,72%{opacity:1;transform:rotate(-27deg) scaleX(1)}100%{opacity:0;transform:rotate(-27deg) scaleX(.12)}}@keyframes moon{to{transform:translate3d(18%,-13%,0)}}@keyframes point{0%,100%{transform:scale(.75);opacity:.48}50%{transform:scale(1);opacity:1}}
footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:1.5rem clamp(1.25rem,4vw,4.8rem);color:var(--ink);background:var(--lime)}footer .wordmark b{color:#204fd7}footer p{justify-self:center;margin:0;font-size:.72rem}footer a:last-child{justify-self:end;font-size:.75rem}footer a:last-child span{margin-left:.55rem}