:root{font-family:Arial,Helvetica,sans-serif;color:#f0e9e9;background:#050102;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}html{height:-webkit-fill-available}body{position:fixed;top:0;right:0;bottom:0;left:0}.experience{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 0 80%,#290e15,transparent 50%),#050102}.liquid-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none}.liquid-scene canvas{display:block;width:100%;height:100%}.identity{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}h1{margin:0;padding:0;width:clamp(69px,8.86vw,113px);line-height:0}.wordmark{display:block;width:100%;height:auto;overflow:visible}.socials{position:absolute;left:50%;bottom:calc(13% + env(safe-area-inset-bottom,0px));transform:translate(-50%);display:flex;align-items:center;gap:25px}.socials a,.pending-link{display:grid;place-items:center;padding:11px;color:#aa8b91;transition:color .2s}.socials a:hover{color:#fff}.socials a:focus-visible{outline:1px solid #f3bac1;outline-offset:5px}.pending-link{opacity:.6;cursor:default}.liquid-fallback canvas{display:none}.liquid-fallback:before,.liquid-fallback:after{content:"";position:absolute;width:70%;height:110%;border-radius:45%;filter:blur(50px);background:radial-gradient(ellipse,#541f2a,transparent 65%);animation:liquid-drift 28s ease-in-out infinite alternate}.liquid-fallback:before{left:-45%;top:-30%}.liquid-fallback:after{right:-40%;bottom:-40%;animation-delay:-14s}.reduced-motion:before,.reduced-motion:after{animation:none}@keyframes liquid-drift{0%{transform:translateY(-7%) rotate(-20deg)}to{transform:translateY(12%) rotate(15deg)}}@media(max-width:600px){h1{width:82px}.socials{bottom:calc(14% + env(safe-area-inset-bottom,0px));gap:23px}}.wordmark{animation:wei-float 9s ease-in-out infinite;transform-origin:center}@keyframes wei-float{0%,to{transform:translateZ(0) rotate(0)}25%{transform:translate3d(2.5px,-5px,0) rotate(.3deg)}50%{transform:translate3d(-2px,-1px,0) rotate(-.25deg)}75%{transform:translate3d(1.5px,3.5px,0) rotate(.18deg)}}@media(prefers-reduced-motion:reduce){.wordmark{animation:none}}.audio-player{position:absolute;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:8px;width:172px;height:44px;max-width:calc(100vw - 40px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));padding:6px 12px 6px 6px;background:linear-gradient(125deg,#ffffff08,transparent),#0b0b0b45;-webkit-backdrop-filter:blur(12px) saturate(.45);backdrop-filter:blur(12px) saturate(.45);box-shadow:inset 0 1px #ffffff10,0 6px 24px #00000016;border-radius:999px;color:#d1d1d1}.perimeter-progress{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.perimeter-progress svg{display:block;width:100%;height:100%;overflow:visible}.perimeter-progress use{fill:none;stroke-width:1;vector-effect:non-scaling-stroke}.perimeter-track{stroke:#ffffff16}.perimeter-loop{stroke:#b0b0b03d}.perimeter-fill{stroke:#d5d5d5;stroke-opacity:.8}.perimeter-progress .perimeter-marker{stroke:#f2f2f2;stroke-width:2}.record-button{position:relative;display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:1px solid #ffffff25;background:#171717;border-radius:50%;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent}.record-cover{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;animation:record-spin 20s linear infinite}.record-control{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#00000050;color:#f5f5f5;transition:background .2s}.record-control svg{width:11px;height:11px;stroke-width:1.4}.record-button:hover .record-control{background:#00000020}.record-button:focus-visible{outline:1px solid #d8d8d8;outline-offset:4px}.record-button:disabled{cursor:wait}.track-content{flex:1;min-width:0}.track-title{font-size:10px;line-height:1.4;font-weight:500;color:#e7e7e7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-status{font-size:7.5px;line-height:1.5;color:#929292;margin-top:2px}.is-loading .record-control{animation:audio-loading 1.2s ease-in-out infinite alternate}@keyframes record-spin{to{transform:rotate(360deg)}}@keyframes audio-loading{0%{opacity:.35}to{opacity:.8}}@media(max-width:600px){.socials{bottom:calc(96px + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-motion:reduce){.record-cover,.is-loading .record-control{animation:none}}@font-face{font-family:Geist;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/geist-latin-ext-v1.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/geist-latin-v1.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/geist-mono-latin-ext-v1.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/geist-mono-latin-v1.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Geist,Arial,Helvetica,sans-serif;--font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Consolas,monospace}.motion-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;isolation:isolate;overflow:hidden}.portal-word{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}.portal-sway{transform-box:view-box;transform-origin:50% 50%;animation:portal-sway 9s ease-in-out infinite}@keyframes portal-sway{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(2.5px,-5px) rotate(.3deg)}50%{transform:translate(-2px,-1px) rotate(-.25deg)}75%{transform:translate(1.5px,3.5px) rotate(.18deg)}}.motion-scene:not([data-phase=hero]) .word-details{display:none}.hero-controls{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .25s}.motion-scene[data-phase=hero] .hero-controls{opacity:1}.screen-reader-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.scene-cue{position:absolute;left:50%;bottom:calc(108px + env(safe-area-inset-bottom,0px));display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;background:transparent;color:#a89ea3;transform:translate(-50%);pointer-events:auto;cursor:pointer;transition:color .2s;-webkit-tap-highlight-color:transparent}.scene-cue:hover,.scene-back:hover{color:#f1edef}.scene-cue:focus-visible,.scene-back:focus-visible{outline:1px solid #d5c9cf;outline-offset:4px;border-radius:50%}.project-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:0;pointer-events:none;-webkit-clip-path:url(#wei-project-aperture);clip-path:url(#wei-project-aperture);background:linear-gradient(180deg,#05010218,#05010260)}.motion-scene:not([data-phase=hero]) .project-stage{opacity:1}.motion-scene[data-phase=projects] .project-stage{-webkit-clip-path:none;clip-path:none;pointer-events:auto}.project-scroll{position:absolute;inset:0 0 calc(112px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff20 transparent;-webkit-overflow-scrolling:touch}.project-scroll:focus-visible{outline:1px solid #ffffff18;outline-offset:-3px}.projects{flex-shrink:0;width:min(420px,calc(100% - 48px));margin:auto;padding:40px 0;transform:translate3d(0,calc((1 - var(--project-reveal,0))*12px),0) scale(calc(.965 + var(--project-reveal,0)*.035));transform-origin:50% 55%}.projects-heading{display:flex;align-items:center;gap:12px;margin:0 0 18px;opacity:var(--project-reveal,0);transform:translate3d(0,calc((1 - var(--project-reveal,0))*8px),0)}.scene-back{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;background:transparent;color:#a69aa2;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .2s}.projects-heading h2{margin:0;color:#e5dfe3;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:.2px;outline:none}.project-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:0;list-style:none}.project-list>li{--row-progress:clamp(0,calc(var(--project-reveal,0)*1.24 - var(--project-index)*.12),1);--row-reveal:calc(var(--row-progress)*var(--row-progress)*(3 - 2*var(--row-progress)));opacity:var(--row-reveal);transform:translate3d(0,calc((1 - var(--row-reveal))*22px),0)}.project-card{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;padding:22px;border:1px solid #ffffff15;border-radius:12px;background:#ffffff03}.project-card h3{margin:0;color:#e6e0e4;font-size:13px;font-weight:400;line-height:1.5;letter-spacing:-.1px}.project-card>span{color:#a1969e;font-family:var(--font-mono);font-size:8px;letter-spacing:.2px}.socials{z-index:5;bottom:calc(28px + env(safe-area-inset-bottom,0px))}.audio-player{z-index:5}@media(max-width:700px){.project-scroll{bottom:calc(160px + env(safe-area-inset-bottom,0px))}.socials{bottom:calc(96px + env(safe-area-inset-bottom,0px))}.scene-cue{bottom:calc(164px + env(safe-area-inset-bottom,0px))}}@media(max-width:360px){.projects{width:calc(100% - 36px)}.project-card{padding:18px;min-height:72px}}@media(prefers-reduced-motion:reduce){.portal-sway{animation:none}.hero-controls,.scene-cue,.scene-back{transition:none}.motion-scene .projects,.motion-scene .projects-heading,.motion-scene .project-list>li{transform:none}}.leaf-vector-layer{overflow:hidden;pointer-events:none;animation:leaf-layer-in 1.2s ease .15s both}.leaf-vector-track{opacity:0;animation:leaf-vector-drift var(--leaf-duration) linear var(--leaf-delay) infinite both}.leaf-vector-art{overflow:visible;transform-box:fill-box;transform-origin:50% 58%;animation:leaf-vector-flutter var(--leaf-flutter) ease-in-out var(--leaf-delay) infinite alternate}@keyframes leaf-layer-in{0%{opacity:0}to{opacity:1}}@keyframes leaf-vector-drift{0%{opacity:0;transform:translate(0)}25%{opacity:var(--leaf-opacity)}35%{transform:translate(var(--leaf-sway),46px)}65%{opacity:var(--leaf-opacity);transform:translate(var(--leaf-drift),86px)}to{opacity:0;transform:translate(var(--leaf-end),132px)}}@keyframes leaf-vector-flutter{0%{transform:rotate(var(--leaf-tilt)) scaleX(.79)}to{transform:rotate(var(--leaf-turn)) scaleX(.7)}}@media(prefers-reduced-motion:reduce){.leaf-vector-layer{display:none;animation:none}.leaf-vector-track,.leaf-vector-art{animation:none}}.site-noise{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:url(/textures/noise-v2.svg) repeat;background-size:160px 160px;mix-blend-mode:luminosity;opacity:.065}
