
*{box-sizing:border-box}html,body{margin:0;background:#f7f7f4;color:#161616}body{font-family:Arial,Helvetica,sans-serif;overflow:hidden}button{font:inherit;color:inherit}::selection{background:#181818;color:#fff}
.page{position:relative;min-height:100svh;overflow:hidden;isolation:isolate}.wash{position:absolute;inset:-30%;background:radial-gradient(ellipse at 50% 42%,#fff 0%,#fff8 22%,transparent 57%);transform:translate(calc(var(--px,0)*25px),calc(var(--py,0)*25px));transition:transform 1.4s ease;pointer-events:none}
canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.65}.grain{position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.65' d='M0 0h180v180H0z'/%3E%3C/svg%3E");pointer-events:none}
header,footer{position:absolute;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:center;z-index:3}header{top:34px}.brand{font-weight:700;font-size:17px;letter-spacing:-.055em}.status{display:flex;align-items:center;gap:10px;font:10px 'Courier New',monospace;letter-spacing:.12em}.dot{height:5px;width:5px;border-radius:50%;background:#161616;animation:pulse 3s ease infinite}.reveal{opacity:0;animation:fade 1.2s ease 3.05s forwards}
.logo-wrap{position:absolute;left:50%;top:40%;width:clamp(132px,12.5vw,215px);aspect-ratio:341/413;transform:translate(-50%,-50%);z-index:2}.logo{width:100%;height:100%;background:none;border:0;padding:0;position:relative;cursor:inherit;outline-offset:18px}.rotor{position:absolute;inset:0;transform-origin:center}.piece{position:absolute;left:0;width:100%;height:50%;overflow:hidden;animation:assemble 3s cubic-bezier(.7,0,.25,1) .2s both}.piece img{position:absolute;left:0;display:block;width:100%;height:200%;object-fit:fill}.piece.top{top:0;--travel:-85vh}.piece.bottom{top:50%;--travel:85vh}.piece.bottom img{top:-100%}.logo-plus{position:absolute;right:-30px;top:-13px;font:26px Arial;opacity:0;animation:fade 1s ease 3.2s forwards}.orbit{position:absolute;left:50%;top:40%;width:min(52vw,650px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #1616160b;border-radius:50%;pointer-events:none;opacity:0;animation:fade 3s ease 2.5s forwards}.orbit:before,.orbit:after{content:'';position:absolute;inset:13%;border:1px solid #16161609;border-radius:50%}.orbit:after{inset:-14%;border-style:dashed;opacity:.4;animation:orbit 100s linear infinite}
.copy{position:absolute;top:66%;left:8%;right:8%;text-align:center;z-index:2}.eyebrow{font:10px 'Courier New',monospace;letter-spacing:.18em;margin-bottom:19px}.headline{margin:0;font-size:clamp(32px,4.8vw,76px);font-weight:400;line-height:1.06;letter-spacing:-.065em}.headline em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.07em}.description{font-size:13px;line-height:1.7;color:#777;margin:22px 0 0}.description span{display:block}.soon{display:inline-block;margin-top:16px;font:10px 'Courier New',monospace;letter-spacing:.12em;text-transform:uppercase;color:#333}.soon:after{content:'';display:block;width:30px;height:1px;background:#222;margin:13px auto 0;animation:underline 4s ease-in-out infinite}
footer{bottom:29px;font:9px 'Courier New',monospace;letter-spacing:.1em;color:#777}.disciplines{display:flex;gap:23px}.domain{color:#333;text-decoration:none}.cursor{position:fixed;z-index:20;left:0;top:0;width:22px;height:22px;pointer-events:none;opacity:0;transform:translate(-50%,-50%)}.cursor:before,.cursor:after{content:'';position:absolute;background:#181818;left:10px;top:3px;width:1px;height:16px}.cursor:after{transform:rotate(90deg)}.cursor.visible{opacity:1}.cursor.active{transform:translate(-50%,-50%) rotate(45deg);transition:transform .4s}
.intro-line{position:absolute;left:50%;top:50%;width:1px;height:100vh;background:#16161612;transform:translate(-50%,-50%);animation:lineIn 4s ease both;pointer-events:none}.intro-line.horizontal{width:100vw;height:1px;animation-delay:.15s}
@keyframes assemble{from{transform:translateY(var(--travel));opacity:0}25%{opacity:1}to{transform:translateY(0);opacity:1}}@keyframes fade{to{opacity:1}}@keyframes pulse{50%{opacity:.3}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes underline{50%{width:65px}}@keyframes lineIn{0%{opacity:0;scale:.1}35%{opacity:1;scale:1}100%{opacity:0;scale:1}}
@media(hover:hover){body,button,a{cursor:none}}@media(max-width:600px){header{top:25px;left:24px;right:24px}.brand{font-size:15px}.status{font-size:8px;letter-spacing:.04em;gap:6px}.logo-wrap{top:37%;width:144px}.orbit{top:37%;width:310px}.copy{top:62%;left:22px;right:22px}.eyebrow{font-size:9px}.headline{font-size:37px}.description{font-size:12px;margin-top:20px}footer{bottom:22px;left:24px;right:24px;font-size:8px}.disciplines{gap:11px}.logo-plus{right:-24px}.cursor{display:none}}
@media(max-height:650px) and (min-width:601px){.logo-wrap{top:35%;width:120px}.orbit{top:35%;width:330px}.copy{top:59%}.headline{font-size:42px}.description{margin-top:13px}.eyebrow{margin-bottom:10px}.soon{margin-top:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal,.logo-plus,.orbit{opacity:1}.intro-line{display:none}}
