:root{--blue: #164d70;--blue-deep: #103c59;--paper: #e7ecef;--ink: #112b3e;--muted: #5e7685;--signal: #ed6846;--white: #f6fbfd}*{box-sizing:border-box}html,body{width:100%;height:100%}body{margin:0;min-width:320px;overflow:hidden;color:var(--ink);font-family:Manrope,sans-serif;background-color:var(--blue);background-image:linear-gradient(rgba(224,244,252,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(224,244,252,.1) 1px,transparent 1px),linear-gradient(rgba(224,244,252,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(224,244,252,.04) 1px,transparent 1px);background-size:40px 40px,40px 40px,8px 8px,8px 8px}button,input,textarea{font:inherit}.page{position:relative;isolation:isolate;width:100%;height:100dvh;overflow:hidden;display:grid;grid-template-columns:minmax(20rem,.9fr) minmax(25rem,1.1fr);grid-template-rows:1fr;gap:0 clamp(2rem,6vw,7rem);padding:clamp(1.3rem,3vw,3rem)}.page__veil{position:absolute;inset:0;z-index:-2;background:#eff3f5e8;-webkit-backdrop-filter:blur(.4px);backdrop-filter:blur(.4px)}.page:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 19% 30%,rgba(255,255,255,.7),transparent 34rem)}.header,.footer{position:absolute;left:clamp(1.3rem,3vw,3rem);right:clamp(1.3rem,3vw,3rem);display:flex;justify-content:space-between;align-items:center;z-index:4;font:400 .62rem/1.4 DM Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.header{top:clamp(1.3rem,3vw,3rem)}.header p,.footer p{margin:0}.header__status,.footer{color:var(--muted)}.header__status span,.motion-window__meta--bottom span{display:inline-block;width:.42rem;height:.42rem;margin-right:.55rem;border-radius:50%;background:var(--signal)}.intro{grid-column:1;grid-row:1;align-self:center;z-index:2;max-width:43rem}.eyebrow{margin:0 0 clamp(1rem,3vh,2.2rem);color:var(--muted);font:400 .65rem/1 DM Mono,monospace;letter-spacing:.13em;text-transform:uppercase}h1{margin:0;font-size:clamp(3rem,5.3vw,6.4rem);font-weight:400;letter-spacing:-.07em;line-height:.98}h1 span{color:var(--muted)}.intro__copy{max-width:28rem;margin:clamp(1.5rem,4vh,3rem) 0;color:#405c6d;font-size:clamp(.88rem,1.1vw,1.05rem);line-height:1.7}.contact-trigger{display:inline-flex;gap:2.5rem;align-items:center;padding:.8rem 0;border:0;border-bottom:1px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;font:400 .7rem/1 DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.contact-trigger span{color:var(--signal);transition:transform .25s}.contact-trigger:hover span{transform:translate(4px,-4px)}.contact-trigger:focus-visible,.dialog-close:focus-visible,.form-submit:focus-visible{outline:2px solid var(--signal);outline-offset:5px}.motion-window{position:absolute;z-index:1;inset:0 0 0 50%;overflow:hidden;min-height:0;color:var(--white);background-color:var(--blue);background-image:linear-gradient(rgba(224,244,252,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(224,244,252,.1) 1px,transparent 1px),linear-gradient(rgba(224,244,252,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(224,244,252,.04) 1px,transparent 1px);background-size:40px 40px,40px 40px,8px 8px,8px 8px;box-shadow:-2rem 0 5rem #103c5917,2rem 0 5rem #103c5917}.motion-window__meta{position:absolute;z-index:3;color:#f0f9fc9e;font:300 .58rem/1.6 DM Mono,monospace;letter-spacing:.14em}.motion-window__meta--top{top:clamp(1.5rem,4vw,3rem);left:clamp(1.5rem,4vw,3rem)}.instruction--touch{display:none}.motion-window__meta--bottom{right:clamp(1.5rem,4vw,3rem);bottom:clamp(1.5rem,4vw,3rem)}.assembly{position:absolute;left:50%;top:50%;width:min(72%,34rem);aspect-ratio:1;transform:translate(-50%,-50%)}.assembly__axis{position:absolute;inset:0;opacity:.6}.assembly__axis:before,.assembly__axis:after{content:"";position:absolute;background:#e5f6fc2e}.assembly__axis:before{left:50%;top:3%;bottom:3%;width:1px}.assembly__axis:after{top:50%;left:3%;right:3%;height:1px}.assembly__system{position:absolute;inset:0;transform-origin:center;animation:system-rise 10s cubic-bezier(.65,0,.25,1) 1 both}.assembly__lock{position:absolute;z-index:3;left:50%;top:50%;width:18rem;height:14rem;overflow:hidden;border:1px solid rgba(244,251,253,.82);transform:translate(-50%,-50%) scale(.94);opacity:0;animation:lock 10s cubic-bezier(.65,0,.25,1) 1 both}.assembly__lock:before{display:none}.assembly__lock:after{content:"";position:absolute;inset:8px;border:1px solid rgba(235,249,253,.16);animation:lock-inner 10s ease 1 both}.assembly__lock span{position:absolute;z-index:3;right:10px;bottom:9px;padding:5px 7px;background:transparent;color:#f8fcfdc2;font:400 .5rem/1.45 DM Mono,monospace;letter-spacing:.12em;animation:system-label 10s ease 1 both}.block{--ix: 0px;--iy: 0px;--sx: 0px;--sy: 0px;--sr: 0deg;--ax: 0px;--ay: 0px;--ar: 0deg;--ox: 0px;--oy: 0px;--delay: 0s;--stroke: rgba(255, 255, 255, .72);position:absolute;z-index:2;left:50%;top:50%;display:block;border:1px solid var(--stroke);background:transparent;transform-origin:center;animation:assemble 10s cubic-bezier(.7,0,.18,1) 1 both,reveal 10s linear var(--delay) 1 both}.block:after{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.14);animation:detail-fade 10s ease-in-out 1 both}.block--1{--ix: -430px;--iy: -155px;--sx: -210px;--sy: -155px;--sr: -18deg;--ax: -56px;--ay: -88px;--ar: 0deg;--ox: -90px;--oy: -430px;--delay: 0s;--stroke: rgba(255, 255, 255, .9);width:176px;height:48px}.block--2{--ix: 196px;--iy: -430px;--sx: 196px;--sy: -176px;--sr: 24deg;--ax: 88px;--ay: -88px;--ar: 0deg;--ox: 430px;--oy: -80px;--delay: .15s;--stroke: rgba(225, 236, 240, .72);width:112px;height:48px}.block--3{--ix: -300px;--iy: 430px;--sx: -190px;--sy: 150px;--sr: 16deg;--ax: -110px;--ay: -8px;--ar: 0deg;--ox: -430px;--oy: 100px;--delay: .3s;--stroke: rgba(199, 216, 223, .78);width:68px;height:112px}.block--4{--ix: 430px;--iy: 128px;--sx: 235px;--sy: 128px;--sr: -28deg;--ax: -12.5px;--ay: -8px;--ar: 0deg;--ox: 180px;--oy: 430px;--delay: .45s;--stroke: rgba(255, 255, 255, .82);width:127px;height:112px}.block--5{--ix: 18px;--iy: -430px;--sx: 18px;--sy: -238px;--sr: 32deg;--ax: 97.5px;--ay: -8px;--ar: 0deg;--ox: 320px;--oy: -430px;--delay: .6s;--stroke: rgba(184, 205, 214, .82);width:93px;height:112px}.block--6{--ix: -35px;--iy: 430px;--sx: -35px;--sy: 230px;--sr: -22deg;--ax: -56px;--ay: 80px;--ar: 0deg;--ox: -260px;--oy: 430px;--delay: .75s;--stroke: rgba(219, 232, 237, .75);width:176px;height:64px}.block--7{--ix: 430px;--iy: -15px;--sx: 245px;--sy: -15px;--sr: 19deg;--ax: 88px;--ay: 80px;--ar: 0deg;--ox: 430px;--oy: 180px;--delay: .9s;--stroke: rgba(255, 255, 255, .88);width:112px;height:64px}.assembly__replay{position:absolute;z-index:6;left:50%;top:50%;display:inline-flex;align-items:center;gap:.7rem;padding:.65rem .2rem;border:0;background:transparent;color:#f8fcfdad;cursor:pointer;font:400 .56rem/1 DM Mono,monospace;letter-spacing:.14em;text-transform:uppercase;transform:translate(-50%,-50%);animation:replay-in 10s ease 1 both;transition:color .3s ease}.assembly__replay span{display:inline-block;color:#ffffffdb;font-size:.9rem;transition:transform .45s cubic-bezier(.3,.8,.25,1)}.assembly__replay:hover{color:#fffffff5}.assembly__replay:hover:after{opacity:.65;transform:scaleX(1)}.assembly__replay:hover span{transform:rotate(-180deg)}.assembly__replay:focus-visible{outline:2px solid #fff;outline-offset:5px}.assembly.is-resetting .assembly__system,.assembly.is-resetting .assembly__lock,.assembly.is-resetting .assembly__lock:after,.assembly.is-resetting .assembly__lock span,.assembly.is-resetting .block,.assembly.is-resetting .block:after,.assembly.is-resetting .assembly__replay{animation:none!important}.footer{bottom:clamp(1.3rem,3vw,3rem)}@keyframes assemble{0%,10%{transform:translate(calc(var(--ix) - 50%),calc(var(--iy) - 50%)) rotate(var(--sr)) scale(.72)}22%,31%{transform:translate(calc(var(--sx) - 50%),calc(var(--sy) - 50%)) rotate(var(--sr)) scale(1)}44%,to{transform:translate(calc(var(--ax) - 50%),calc(var(--ay) - 50%)) rotate(var(--ar)) scale(1)}}@keyframes system-rise{0%,62%{transform:translateY(0) scale(1)}76%,to{transform:translateY(-115px) scale(.92)}}@keyframes reveal{0%,10%{opacity:0}18%,to{opacity:1}}@keyframes detail-fade{0%,40%{opacity:1}49%{opacity:.25}54%,to{opacity:0}}@keyframes lock{0%{opacity:0;transform:translate(-50%,-50%) scale(.94)}7%,43%{opacity:.62;transform:translate(-50%,-50%) scale(1)}50%,62%{opacity:1;transform:translate(-50%,-50%) scale(1);border-color:#fff}76%,to{opacity:.82;transform:translate(-50%,-50%) scale(1);border-color:#f4fbfdd1}}@keyframes lock-inner{0%,44%{opacity:.35}51%,62%{opacity:1;border-color:#ffffffb3}76%,to{opacity:.35}}@keyframes system-label{0%,44%{color:#f8fcfdad}50%,62%{color:#fff}76%,to{color:#f8fcfdad}}@keyframes replay-in{0%,72%{opacity:0;visibility:hidden;transform:translate(-50%,calc(-50% + 86px)) scale(.96)}84%,to{opacity:1;visibility:visible;transform:translate(-50%,calc(-50% + 86px)) scale(1)}}.assembly{width:min(78%,35rem);aspect-ratio:44/56;cursor:pointer;touch-action:manipulation}.assembly:focus-visible{outline:1px solid rgba(239,249,252,.75);outline-offset:.75rem}.geometry{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 28px 30px rgba(5,31,48,.2))}.geometry__shadow{fill:#041d2d33;filter:blur(12px);transform-origin:center;opacity:.25;transform:scaleX(1.3);transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.72,0,.2,1)}.geometry__layer{--split-x: 0px;--split-y: 0px;transform:translate(var(--split-x),var(--split-y));transform-box:view-box;transform-origin:220px 280px;transition:transform 1.2s cubic-bezier(.72,0,.2,1);will-change:transform}.geometry__layer--1{--split-x: 20px;--split-y: -80px}.geometry__layer--2{--split-x: -44px;--split-y: -35px}.geometry__layer--3{--split-x: 42px;--split-y: 0px}.geometry__layer--4{--split-x: -30px;--split-y: 35px}.geometry__layer--5{--split-x: 24px;--split-y: 52px}.geometry polygon{stroke:#eff9fc3d;stroke-width:1;stroke-linejoin:round}.geometry__top{fill:#5f8499}.geometry__left{fill:#dce8ed}.geometry__right{fill:#91aebc}.geometry__layer--1 .geometry__top{fill:#9fb7c2}.geometry__layer--1 .geometry__left{fill:#315f79}.geometry__layer--1 .geometry__right{fill:#214c66}.geometry__layer--3 .geometry__top,.geometry__layer--5 .geometry__top{fill:#edf4f6}.geometry__layer--3 .geometry__left,.geometry__layer--5 .geometry__left{fill:#b8cdd6}.geometry__layer--3 .geometry__right,.geometry__layer--5 .geometry__right{fill:#789baa}.assembly:focus-visible .geometry__layer,.assembly.is-assembled .geometry__layer{transform:translate(0)}.assembly:focus-visible .geometry__shadow,.assembly.is-assembled .geometry__shadow{opacity:.6;transform:scaleX(.82)}@media(hover:hover)and (pointer:fine){.assembly:hover .geometry__layer{transform:translate(0)}.assembly:hover .geometry__shadow{opacity:.6;transform:scaleX(.82)}}@media(hover:none),(pointer:coarse){.instruction--mouse{display:none}.instruction--touch{display:inline}}.dialog-open{overflow:hidden}.contact-dialog{width:min(68rem,100% - 1.5rem);max-height:calc(100dvh - 1.5rem);padding:0;overflow:auto;border:0;background:var(--paper);color:var(--ink);box-shadow:0 2rem 7rem #061f306b}.contact-dialog::backdrop{background:#082334c2;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialog-layout{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;min-height:35rem}.dialog-close{position:absolute;z-index:3;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:1px solid rgba(17,43,62,.22);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;font-size:1.4rem}.dialog-copy{padding:clamp(2.5rem,5vw,5rem) clamp(1.5rem,4vw,4rem);background:var(--blue);color:var(--white);background-image:linear-gradient(rgba(224,244,252,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(224,244,252,.08) 1px,transparent 1px);background-size:32px 32px}.dialog-kicker{margin:0 0 2rem;color:#9ac7dc;font:400 .6rem/1 DM Mono,monospace;letter-spacing:.15em}.dialog-copy h2{max-width:24rem;margin:0 0 1.5rem;font-size:clamp(2.4rem,4.5vw,4.5rem);font-weight:400;letter-spacing:-.065em;line-height:.96}.dialog-copy h2:focus{outline:0}.dialog-copy>p:last-child{max-width:25rem;color:#f6fbfdb3;line-height:1.7}.contact-form{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:1rem;padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,4vw,3.5rem)}.contact-form label{display:grid;gap:.42rem;font:400 .61rem/1.4 DM Mono,monospace;letter-spacing:.09em;text-transform:uppercase}.contact-form label small{color:var(--muted);font-size:.56rem;text-transform:none;letter-spacing:0}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(17,43,62,.18);border-radius:0;background:#fff9;color:var(--ink);outline:0}.contact-form input{min-height:3rem;padding:0 .8rem}.contact-form textarea{min-height:6.5rem;padding:.8rem;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #164d701f}.contact-form__wide{grid-column:1/-1}.form-submit{display:flex;justify-content:space-between;padding:1rem 1.2rem;border:0;background:var(--ink);color:#fff;cursor:pointer;font:400 .67rem/1 DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.form-submit:disabled{cursor:wait;opacity:.65}.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.form-status{min-height:1rem;margin:0;font-size:.72rem}.form-status.is-success{color:#18723e}.form-status.is-error{color:#a82b22}@media(max-width:760px){.page{grid-template-columns:1fr;grid-template-rows:minmax(0,.9fr) minmax(0,1.1fr);gap:.7rem}.intro{grid-column:1;grid-row:1;align-self:end;padding-bottom:.5rem}.motion-window{position:relative;grid-column:1;grid-row:2;inset:auto;margin:0 calc(clamp(1.3rem,3vw,3rem)*-1) calc(clamp(1.3rem,3vw,3rem)*-1)}.motion-window__meta--bottom{display:none}.footer{color:#f6fbfdad}h1{font-size:clamp(2.6rem,11vw,4.2rem)}.eyebrow{margin-bottom:.7rem}.intro__copy{margin:.8rem 0;font-size:.78rem}.contact-trigger{padding:.55rem 0}.motion-window__meta{font-size:.48rem}.assembly{width:min(82%,22rem)}.dialog-layout{grid-template-columns:1fr}.dialog-copy{padding-bottom:2rem}.contact-form{grid-template-columns:1fr}.contact-form__wide{grid-column:1}}@media(max-height:650px)and (min-width:761px){.intro__copy{margin:1rem 0}h1{font-size:clamp(3rem,5vw,5rem)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}.assembly__system{animation:none;transform:translateY(-115px) scale(.92)}.block{animation:none;opacity:1;transform:translate(calc(var(--ax) - 50%),calc(var(--ay) - 50%))}.block:after{animation:none;opacity:0}.assembly__lock{animation:none;opacity:.82;transform:translate(-50%,-50%)}.geometry__layer,.geometry__shadow{animation:none;transition-duration:.01ms}}
