@font-face{font-family:rounded;src:url(../media/rounded_400-s.p.3mwrubupplkpb.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:rounded;src:url(../media/rounded_500-s.p.3x4r01a1b92kp.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:rounded;src:url(../media/rounded_700-s.p.1b_98-y2kniz5.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:rounded Fallback;src:local(Arial);ascent-override:100.9%;descent-override:30.04%;line-gap-override:8.45%;size-adjust:106.54%}.rounded_907f2749-module__BzaVFW__className{font-family:rounded,rounded Fallback}.rounded_907f2749-module__BzaVFW__variable{--font-rounded:"rounded", "rounded Fallback"}
@font-face{font-family:mono;src:url(../media/geist_mono_100_900-s.p.0r6juujl39pe6.woff2)format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:mono Fallback;src:local(Arial);ascent-override:76.43%;descent-override:22.43%;line-gap-override:0.0%;size-adjust:131.49%}.mono_dc42791b-module__wcxzGW__className{font-family:mono,mono Fallback}.mono_dc42791b-module__wcxzGW__variable{--font-mono-face:"mono", "mono Fallback"}
:root{--recovery-surface:color-mix(in srgb, var(--void) 95%, var(--ink));--sheet-surface:color-mix(in srgb, var(--void) 96%, var(--ink));--void:#000;--ink:#f4f2f8;--ink-secondary:#d5d0e2;--ink-muted:#b8b2c8;--glass-fill:#ffffff14;--glass-fill-dim:#ffffff0d;--glass-edge:#ffffff2e;--glass-back:#ffffff09;--rim:#ffffffd1;--rim-halo:#ffffff26;--rim-focus:#fffffff2;--rim-focus-halo:#ffffff38;--rim-live:#07070bf2;--accent-outbound:#ff8a3d;--accent-bvai:#ff5b5b;--accent-scanner:#2fd07f;--accent-actor:#9d7bfa;--font-display:var(--font-rounded), "Hiragino Maru Gothic ProN", sans-serif;--font-meta:var(--font-mono-face), "SFMono-Regular", Consolas, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow-x:clip}body{background:var(--void);color:var(--ink);font-family:var(--font-display);-webkit-font-smoothing:antialiased}.recovery{max-width:780px;min-height:100svh;margin:auto;padding:clamp(5rem,18vh,12rem) 1.5rem 3rem}.recovery__code{color:var(--ink-muted);font-family:var(--font-meta)}.recovery h1{font-family:var(--font-meta);text-wrap:balance;font-size:clamp(2rem,5vw,3.5rem);line-height:1.2}.recovery>p{color:var(--ink-secondary);line-height:1.7}.recovery__actions{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.recovery__actions a,.recovery__actions button{background:var(--ink);min-height:44px;color:var(--void);font:inherit;cursor:pointer;border:0;border-radius:.5rem;padding:.8rem 1rem;text-decoration:none}.recovery__actions :focus-visible{outline:3px solid var(--ink);outline-offset:5px}.image-fallback{text-align:center;background:var(--recovery-surface);color:var(--ink-secondary);font:.75rem/1.5 var(--font-meta);overflow-wrap:anywhere;place-items:center;padding:.5rem;display:grid}.intro__portrait>.image-fallback,.about__portrait>.image-fallback{width:100%;height:100%}.sheet__tile-frame>.image-fallback{width:100%;height:100%;min-height:120px}.lightbox>.image-fallback{min-width:200px;min-height:140px}.resume-viewer__tools>[role=status]{color:var(--ink-secondary);font-size:.85rem;line-height:1.5}.skip-link{z-index:10;background:var(--ink);color:var(--void);border-radius:.5rem;padding:.8rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{outline:3px solid var(--ink-muted);outline-offset:4px;transform:translateY(0)}.sheet__facts a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.intro__copy-fallback{color:var(--ink-secondary);font:.8rem/1.5 var(--font-meta);text-align:center;margin-top:.5rem;padding:.75rem}.intro__copy-fallback:hover{color:var(--ink)}.intro__copy-fallback:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@property --env-c{syntax:"<color>";inherits:true;initial-value:#ff5b5b}.env{pointer-events:none;background:var(--void);--env-c:#ff5b5b;transition:--env-c .9s var(--ease-out);--floor-line:calc(50% + min(235px, 41vw));position:fixed;inset:0;overflow:hidden}.env__drift{position:absolute;inset:0}.env__pool{left:50%;top:var(--floor-line);background:radial-gradient(ellipse 50% 42% at 50% 58%, color-mix(in srgb, var(--env-c) 13%, transparent), transparent 72%);width:min(1500px,165vw);height:min(760px,92vh);position:absolute;transform:translate(-50%,-60%)}.env__horizon{left:50%;top:var(--floor-line);background:linear-gradient(90deg, transparent 2%, color-mix(in srgb, var(--env-c) 75%, transparent) 34%, color-mix(in srgb, white 55%, var(--env-c)) 50%, color-mix(in srgb, var(--env-c) 75%, transparent) 66%, transparent 98%);opacity:.8;filter:blur(1px);width:min(1700px,175vw);height:2px;position:absolute;transform:translate(-50%,-50%)}.env__horizon:after{content:"";background:radial-gradient(ellipse 50% 50% at 50% 50%, color-mix(in srgb, var(--env-c) 30%, transparent), transparent 70%);filter:blur(14px);height:140px;position:absolute;top:-70px;left:4%;right:4%}.env__floor{left:0;right:0;top:calc(var(--floor-line) - 70px);background:radial-gradient(ellipse 46% 150px at 50% 70px, color-mix(in srgb, var(--env-c) 11%, #ffffff09), transparent 70%), radial-gradient(ellipse 75% 85% at 50% 70px, #070709, transparent 80%);position:absolute;bottom:0}@media (prefers-reduced-motion:reduce){.env{transition:none}}.identity{z-index:10;position:fixed;top:clamp(1.25rem,3vw,2.5rem);left:clamp(1.25rem,3vw,2.5rem)}.identity__name{letter-spacing:.01em;margin:0;font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:700}.identity__role{font-family:var(--font-meta);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.14em;margin:.15rem 0 0;font-size:.72rem}.contact{z-index:10;font-style:normal;font-family:var(--font-meta);gap:1.1rem;font-size:.75rem;display:flex;position:fixed;bottom:clamp(1rem,2.5vw,2rem);left:clamp(1.25rem,3vw,2.5rem)}.contact a{color:var(--ink-secondary);transition:color .2s var(--ease-out);text-decoration:none}.contact a:hover,.contact a:focus-visible{color:var(--ink)}.rail-stage{perspective:1500px;perspective-origin:50%;transform-style:preserve-3d;place-items:center;display:grid;position:fixed;inset:0}.panel-anchor{transform-style:preserve-3d;will-change:transform;position:absolute}.panel__bob{transform-style:preserve-3d;animation:6.5s ease-in-out infinite panel-bob;animation-delay:var(--bob-delay)}@keyframes panel-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media (prefers-reduced-motion:reduce){.panel__bob{animation:none}}.panel{aspect-ratio:1;width:min(470px,82vw);transform-style:preserve-3d;--rim-c:var(--rim);--rim-h:var(--rim-halo);position:relative}.panel--focused{--rim-c:var(--rim-focus);--rim-h:var(--rim-focus-halo)}.panel:hover,.rail-stage--dragging .panel{--rim-c:var(--rim-live);--rim-h:#00000080}.panel:has(.panel__hit:focus-visible){--rim-c:var(--rim-live);--rim-h:#00000080}.panel:has(.panel__hit:active){--rim-c:var(--rim-live);--rim-h:#00000080}.panel__face{backface-visibility:hidden;border-radius:.5rem;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.panel__face--front{background:linear-gradient(145deg, #ffffff12 0%, transparent 42%, color-mix(in srgb, var(--accent) 8%, transparent) 100%), var(--glass-fill-dim);border:1px solid color-mix(in srgb, var(--rim-c) 26%, transparent);box-shadow:0 0 0 1.5px var(--rim-c), 0 0 34px var(--rim-h), 0 26px 60px #000000b3, inset 0 1px 0 #fff3, inset 0 -1px 0 #0006;transition:box-shadow .22s var(--ease-out), border-color .22s var(--ease-out)}.rail-stage--dragging .panel__face--front{transition:none}.panel__face--front:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000008c 0%,#00000038 20%,#00000014 42%,#00000057 58%,#000000b8 68%,#000000e0 82%,#000000f2 100%);position:absolute;inset:0}.panel--focused .panel__face--front{background:linear-gradient(145deg, #ffffff1a 0%, transparent 42%, color-mix(in srgb, var(--accent) 11%, transparent) 100%), var(--glass-fill);-webkit-backdrop-filter:blur(20px)saturate(1.35);backdrop-filter:blur(20px)saturate(1.35);box-shadow:0 0 0 2px var(--rim-c), 0 0 58px var(--rim-h), 0 34px 80px #000000c7, inset 0 1px 0 #ffffff47, inset 0 -1px 0 #00000073, -3px 0 22px #60e0ff1a, 3px 0 22px #9d7bfa1a}.panel__face--back{background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 62%), #0a0a0d;border:1px solid color-mix(in srgb, var(--rim-c) 34%, transparent);box-shadow:0 0 0 1.5px color-mix(in srgb, var(--rim-c) 55%, transparent), 0 0 30px color-mix(in srgb, var(--accent) 18%, transparent), inset 0 1px 0 #ffffff0f;justify-content:center;align-items:center;gap:1.4rem;transform:rotateY(180deg)}.panel__back-mark{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--accent) 34%, transparent);background:repeating-radial-gradient(circle, transparent 0 3px, color-mix(in srgb, var(--accent) 9%, transparent) 3px 4px);border-radius:50%;width:46%}.panel__back-title{font-family:var(--font-meta);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 60%, var(--ink));font-size:.68rem}.panel__hit{z-index:4;cursor:pointer;background:0 0;border:0;border-radius:.5rem;position:absolute;inset:0}.panel__hit:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.panel__art{place-items:center;display:grid;position:absolute;inset:0 0 30%;overflow:hidden}.panel__disc{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);background:repeating-radial-gradient(circle, transparent 0 5px, color-mix(in srgb, var(--accent) 8%, transparent) 5px 6px), radial-gradient(circle, transparent 0 47%, #0000008c 48%);border-radius:50%;place-items:center;width:66%;display:grid;position:relative;box-shadow:0 18px 40px #0000008c}.panel__disc:before{content:"";aspect-ratio:1;background:color-mix(in srgb, var(--accent) 40%, transparent);z-index:1;border-radius:50%;width:7%;position:absolute}.panel__logo{z-index:2;aspect-ratio:1;object-fit:cover;width:52%;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent), 0 6px 18px #0009;border-radius:50%;display:block;position:relative}.panel__sheen{pointer-events:none;z-index:0;filter:blur(6px);width:45%;animation:9s ease-in-out infinite sheen-sweep;animation-delay:var(--bob-delay);background:linear-gradient(100deg,#0000 0%,#ffffff29 45%,#ffffff42 50%,#ffffff29 55%,#0000 100%);position:absolute;top:-60%;bottom:-60%;left:-70%;transform:rotate(8deg)}@keyframes sheen-sweep{0%,62%{transform:translate(0)rotate(8deg)}to{transform:translate(420%)rotate(8deg)}}@media (prefers-reduced-motion:reduce){.panel__sheen{opacity:.5;animation:none}}.panel__rim{z-index:3;pointer-events:none;border-radius:inherit;background:var(--rim-live);opacity:0;transition:opacity .22s var(--ease-out);-webkit-mask-composite:xor;padding:2.5px;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.panel__rim-spin{aspect-ratio:1;mix-blend-mode:screen;background:conic-gradient(#100a16,#592a6b,#1d4a7a,#17705f,#6a5a20,#6b2340,#100a16);width:150%;animation:7s linear infinite rim-prism;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(0)}@keyframes rim-prism{to{transform:translate(-50%,-50%)rotate(360deg)}}.panel:hover .panel__rim,.rail-stage--dragging .panel__rim{opacity:1}.panel:has(.panel__hit:focus-visible) .panel__rim{opacity:1}.panel:has(.panel__hit:active) .panel__rim{opacity:1}@media (prefers-reduced-motion:reduce){.panel__rim{transition:none}.panel__rim-spin{animation:none}}.panel__floor-glow{pointer-events:none;height:58%;opacity:var(--glow-o,.3);background:radial-gradient(ellipse 58% 42% at 50% 16%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 70%);filter:blur(18px);position:absolute;top:97%;left:-28%;right:-28%}.panel__reflection{pointer-events:none;height:100%;opacity:var(--reflect-o,.25);filter:var(--reflect-f,blur(8px) saturate(.85) brightness(.8));position:absolute;top:calc(100% + 16px);left:0;right:0;transform:scaleY(-1);-webkit-mask-image:linear-gradient(#0000 40%,#0000004d 70%,#000000d9 100%);mask-image:linear-gradient(#0000 40%,#0000004d 70%,#000000d9 100%)}.panel__reflection .panel__face{backface-visibility:visible;height:100%;position:relative}.panel__copy{z-index:2;margin-top:auto;padding:0 1.7rem;position:relative}.panel__copy:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000 0%,#0000008c 34%,#000c 62%,#000000db 100%);position:absolute;inset:-2.6rem 0 -1.2rem}.panel__tagline{color:var(--ink-secondary);max-width:32ch;margin:0;font-size:1rem;line-height:1.5}.panel__label{z-index:2;padding:.9rem 1.7rem 1.5rem;position:relative}.panel__title{letter-spacing:.005em;text-wrap:balance;overflow-wrap:break-word;margin:0;font-size:1.5rem;font-weight:700}.panel__status{font-family:var(--font-meta);color:var(--ink-muted);align-items:center;gap:.45rem;margin:.35rem 0 0;font-size:.7rem;display:flex}.rail-arrows{z-index:12;pointer-events:none;justify-content:space-between;align-items:center;padding-inline:clamp(.75rem,3vw,2.5rem);display:flex;position:fixed;inset:0}.rail-arrow{pointer-events:auto;border:1px solid var(--glass-edge);background:var(--glass-fill);width:3rem;height:3rem;color:var(--ink-secondary);cursor:pointer;transition:transform .2s var(--ease-out), color .2s var(--ease-out);border-radius:50%;font-size:1.15rem}.rail-arrow:hover:not(:disabled),.rail-arrow:focus-visible{color:var(--ink);transform:scale(1.08)}.rail-arrow:active:not(:disabled){transform:scale(.96)}.rail-arrow:disabled{opacity:.3;cursor:default}.rail-arrow:focus-visible{outline:3px solid var(--ink-muted);outline-offset:3px}.expanded-backdrop{z-index:20;background:color-mix(in srgb, var(--void) 72%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-columns:minmax(0,1fr);place-items:center;padding:clamp(.75rem,3vw,3rem);display:grid;position:fixed;inset:0}.expanded{background:var(--sheet-surface);border:1px solid var(--glass-edge);width:min(1180px,100%);min-width:0;max-width:100%;max-height:min(86dvh,100dvh - 2*clamp(.75rem,3vw,3rem));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 88%, transparent), 0 0 64px color-mix(in srgb, var(--accent) 38%, transparent), 0 36px 90px #000000b3, inset 0 1px 0 #ffffff47, inset 0 -1px 0 #0006;-webkit-backdrop-filter:blur(22px)saturate(1.5);backdrop-filter:blur(22px)saturate(1.5);border-radius:1.6rem;display:flex;position:relative}.expanded__scroll{border-radius:inherit;width:100%;min-width:0;min-height:0;padding:clamp(1.5rem,4vw,2.75rem);overflow-y:auto}.expanded__close{z-index:2;border:1px solid var(--glass-edge);background:var(--glass-fill);width:2.4rem;height:2.4rem;color:var(--ink-secondary);cursor:pointer;border-radius:50%;font-size:1.3rem;line-height:1;position:absolute;top:.9rem;right:.9rem}.expanded__close:hover,.expanded__close:focus-visible{color:var(--ink)}.expanded__back-label{display:none}.expanded__scroll:focus-visible{outline:2px solid var(--ink-muted);outline-offset:-4px}.expanded__close:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button,a,.rail-stage{touch-action:manipulation;-webkit-tap-highlight-color:color-mix(in srgb, var(--ink) 14%, transparent)}.rail-stage{-webkit-user-select:none;user-select:none}.identity{top:max(clamp(1.25rem, 3vw, 2.5rem), env(safe-area-inset-top));left:max(clamp(1.25rem, 3vw, 2.5rem), env(safe-area-inset-left))}.contact{bottom:max(clamp(1rem, 2.5vw, 2rem), env(safe-area-inset-bottom));left:max(clamp(1.25rem, 3vw, 2.5rem), env(safe-area-inset-left))}.contact a:focus-visible{outline:3px solid var(--ink-muted);outline-offset:3px;border-radius:.2rem}.expanded-backdrop,.expanded__scroll{overscroll-behavior:contain}.expanded__gallery{overscroll-behavior-x:contain}.panel__title,.expanded__name,.expanded__tagline{text-wrap:balance}.panel__title,.expanded__name{overflow-wrap:break-word}.expanded__gallery img{background:color-mix(in srgb, var(--accent) 5%, var(--void));object-fit:cover;flex:none;width:auto;min-width:120px}@media (max-width:480px){.panel{width:72vw}.panel__copy:before{background:linear-gradient(#0000 0%,#000000b8 22%,#000000e0 48%,#000000eb 100%);inset:-3.2rem 0 -1.2rem}.env{--floor-line:calc(50% + 36vw)}.panel__reflection{-webkit-mask-image:linear-gradient(#0000 55%,#00000038 78%,#000c 100%);mask-image:linear-gradient(#0000 55%,#00000038 78%,#000c 100%)}.rail-arrows{padding-inline:.5rem}.rail-arrow{width:2.5rem;height:2.5rem;font-size:1rem}}@media (prefers-reduced-motion:reduce){.rail-arrow,.contact a{transition:none}.rail-arrow:hover:not(:disabled),.rail-arrow:focus-visible,.rail-arrow:active:not(:disabled){transform:none}}.expanded-backdrop{perspective:1600px;perspective-origin:50%}.expanded{transform-style:preserve-3d;backface-visibility:hidden}.panel__face{opacity:var(--dim,1)}*{scrollbar-width:thin;scrollbar-color:#ffffff29 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff42}.intro{top:max(clamp(1.25rem, 3vw, 2.25rem), env(safe-area-inset-top));left:max(clamp(1.25rem, 3vw, 2.25rem), env(safe-area-inset-left));z-index:10;flex-direction:column;align-items:flex-start;gap:.7rem;padding:.2rem 1.6rem 1rem .2rem;display:flex;position:fixed}.intro:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60% 55% at 26% 38%,#000000b8,#00000073 45%,#0000 72%);position:absolute;inset:-30% -25% -35% -30%}.intro__head{align-items:center;gap:.75rem;display:flex}.intro__portrait{width:52px;height:52px;box-shadow:0 0 0 1px color-mix(in srgb, var(--env-c,#fff) 38%, transparent), 0 0 0 5px #ffffff07, 0 8px 22px #0000008c;transition:box-shadow .5s var(--ease-out);background:#ffffff0d;border:1px solid #ffffff29;border-radius:50%;flex:none;overflow:hidden}.intro__portrait img{object-fit:cover;width:100%;height:100%;display:block}.intro__lockup{flex-direction:column;gap:.18rem;display:flex}.intro__name{letter-spacing:-.005em;white-space:nowrap;margin:0;font-size:clamp(1.15rem,1.75vw,1.45rem);font-weight:700;line-height:1.1}.intro__eyebrow{font-family:var(--font-meta);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:.62rem}.intro__actions{flex-wrap:wrap;align-items:center;gap:.5rem .85rem;display:flex}.intro__about{color:var(--ink);font-family:var(--font-meta);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:color .25s var(--ease-out);background:0 0;border:0;align-items:center;gap:.4rem;padding:0;font-size:.7rem;display:inline-flex}.intro__about-arrow{transition:transform .25s var(--ease-out);display:inline-block}.intro__about:hover{color:color-mix(in srgb, var(--env-c,#fff) 55%, var(--ink))}.intro__about:hover .intro__about-arrow{transform:translate(3px)}.intro__about:active{transform:translateY(1px)}.intro__about:focus-visible{outline:3px solid var(--ink-muted);outline-offset:3px}.intro__links{font-style:normal;font-family:var(--font-meta);flex-wrap:wrap;gap:.3rem .8rem;font-size:.7rem;display:flex}.intro__links a{color:var(--ink-muted);transition:color .2s var(--ease-out);text-decoration:none}.intro__links a:hover{color:var(--ink)}.intro__links a:focus-visible{outline:3px solid var(--ink-muted);outline-offset:3px;color:var(--ink);border-radius:.2rem}@media (prefers-reduced-motion:reduce){.intro,.intro__about,.intro__about-arrow,.intro__links a{transition:none}.intro__about:hover .intro__about-arrow{transform:none}}@media (max-width:860px){.intro{gap:.7rem;padding:.75rem .9rem .8rem .75rem}.intro__portrait{width:44px;height:44px}.intro__links{gap:.25rem .7rem;font-size:.66rem}}.about{width:min(660px,100%)}.about__head{align-items:center;gap:1.25rem;display:flex}.about__portrait{aspect-ratio:1;border:1px solid #ffffff29;border-radius:50%;flex:none;width:clamp(74px,11vw,104px);overflow:hidden;box-shadow:0 0 0 5px #ffffff09,0 16px 36px #0000008c}.about__portrait img{object-fit:cover;width:100%;height:100%;display:block}.about__name{letter-spacing:.005em;text-wrap:balance;margin:0;font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:700}.about__bio{max-width:58ch;margin-top:1.6rem}.about__bio p{color:var(--ink-secondary);margin:0 0 1.05rem;font-size:1rem;line-height:1.68}.about__bio p:last-child{margin-bottom:0}.about__links{font-style:normal;font-family:var(--font-meta);border-top:1px solid #ffffff1a;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1.7rem;padding-top:1.2rem;font-size:.78rem;display:flex}.about__links a{color:var(--ink-secondary);transition:color .2s var(--ease-out);text-decoration:none}.about__links a:hover{color:var(--ink)}.about__links a:focus-visible{outline:3px solid var(--ink-muted);outline-offset:3px;color:var(--ink);border-radius:.2rem}@media (prefers-reduced-motion:reduce){.about__links a{transition:none}}@media (max-width:720px){.about__head{gap:.9rem}.about__bio{margin-top:1.2rem}.about__bio p{font-size:.94rem}}.lightbox{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out;background:#000000db;place-items:center;padding:clamp(1rem,4vw,3.5rem);display:grid;position:fixed;inset:0}.lightbox__img{border:1px solid #ffffff24;border-radius:.6rem;max-width:100%;max-height:100%;box-shadow:0 40px 90px #000000b3}.lightbox__close{width:2.6rem;height:2.6rem;color:var(--ink);cursor:pointer;background:#ffffff12;border:1px solid #ffffff2e;border-radius:50%;font-size:1.35rem;line-height:1;position:absolute;top:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem)}.lightbox__close:focus-visible{outline:3px solid var(--ink-muted);outline-offset:3px}.intro__contact{flex-direction:column;gap:.3rem;display:flex}.intro__copy{color:var(--ink-secondary);font-family:var(--font-meta);text-align:left;cursor:copy;transition:color .2s var(--ease-out);background:0 0;border:0;align-items:baseline;gap:.55rem;padding:0;font-size:.74rem;display:flex}.intro__copy:hover{color:var(--ink)}.intro__copy:hover .intro__copy-value,.intro__copy:focus-visible .intro__copy-value{text-underline-offset:.25em;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--env-c,#fff) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--env-c,#fff) 60%, transparent)}.intro__copy:focus-visible{outline:3px solid var(--ink-muted);outline-offset:2px}.intro__copy-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.intro__copy-state{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);opacity:0;transition:opacity .2s var(--ease-out), color .2s var(--ease-out);flex:none;font-size:.6rem}.intro__copy:hover .intro__copy-state,.intro__copy:focus-visible .intro__copy-state{opacity:1}.intro__copy--done{border-color:color-mix(in srgb, var(--accent-scanner) 55%, transparent);background:color-mix(in srgb, var(--accent-scanner) 12%, transparent);color:var(--ink)}.intro__copy--done .intro__copy-state{opacity:1;color:color-mix(in srgb, var(--accent-scanner) 70%, var(--ink))}@media (prefers-reduced-motion:reduce){.intro__copy,.intro__copy-state{transition:none}}.panel__meta-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.panel__open{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent);color:color-mix(in srgb, var(--accent) 30%, var(--ink));font-family:var(--font-meta);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .35s var(--ease-out), transform .35s var(--ease-out), background-color .25s var(--ease-out), border-color .25s var(--ease-out);border-radius:999px;flex:none;align-items:center;gap:.4rem;padding:.3rem .62rem;font-size:.62rem;display:inline-flex;transform:translateY(4px)}.panel--focused .panel__open{opacity:1;transform:translateY(0)}.panel__open-arrow{transition:transform .25s var(--ease-out);display:inline-block}.panel--focused:hover .panel__open{background:color-mix(in srgb, var(--accent) 24%, transparent);border-color:color-mix(in srgb, var(--accent) 75%, transparent)}.panel--focused:hover .panel__open-arrow{transform:translate(3px)}@keyframes open-nudge{0%,72%,to{transform:translate(0)}82%{transform:translate(3px)}}.panel--focused .panel__open-arrow{animation:4.5s ease-in-out infinite open-nudge}.panel--focused:hover .panel__open-arrow{animation:none}@media (prefers-reduced-motion:reduce){.panel__open,.panel--focused .panel__open,.panel__open-arrow,.panel--focused .panel__open-arrow{transition:none;animation:none}.panel--focused:hover .panel__open-arrow{transform:none}}.sheet{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:start;gap:clamp(1.75rem,3.4vw,3.25rem);display:grid}.sheet--solo{grid-template-columns:minmax(0,1fr)}.expanded--solo{width:min(760px,100%)}.sheet__main{min-width:0}.sheet__eyebrow{font-family:var(--font-meta);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 62%, var(--ink));margin:0 0 .85rem;font-size:.66rem}.sheet__title{letter-spacing:-.015em;text-wrap:balance;overflow-wrap:break-word;margin:0;font-size:clamp(2.4rem,5vw,3.9rem);font-weight:700;line-height:1.02}.sheet__tagline{color:var(--ink-secondary);max-width:42ch;margin:1rem 0 0;font-size:1.02rem;line-height:1.55}.sheet__section{border-top:1px solid #ffffff17;margin-top:1.9rem;padding-top:1.6rem}.sheet__label{font-family:var(--font-meta);letter-spacing:-.01em;color:var(--ink);margin:0 0 .95rem;font-size:.9rem;font-weight:500}.sheet__prose{max-width:58ch}.sheet__maturity{border-left:2px solid var(--accent);margin-top:1.25rem;padding-left:.9rem}.sheet__maturity strong{color:var(--ink);font-size:.85rem}.sheet__maturity p{color:var(--ink-secondary);margin:.4rem 0 0;font-size:.9rem;line-height:1.6}.record-card__stage{font-family:var(--font-meta);color:var(--ink-muted);margin-top:.5rem;font-size:.72rem;line-height:1.5}.sheet__role{color:var(--ink-muted);font-family:var(--font-meta);margin:1rem 0 0;font-size:.8rem;line-height:1.6}.sheet__points{color:var(--ink-secondary);margin:0;padding-left:1.2rem;font-size:.96rem;line-height:1.7}.sheet__points li+li{margin-top:.75rem}.sheet__points li::marker{color:var(--accent)}.sheet__prose p{color:var(--ink-secondary);margin:0 0 1.05rem;font-size:.96rem;line-height:1.7}.sheet__prose p:last-child{margin-bottom:0}.sheet__stack{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.sheet__stack li{font-family:var(--font-meta);color:var(--ink-secondary);border:1px solid #ffffff24;border-radius:999px;padding:.34rem .8rem;font-size:.7rem}.sheet__facts{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:1.4rem 1.75rem;margin:0;display:grid}.sheet__facts dt{font-family:var(--font-meta);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);font-size:.62rem}.sheet__facts dd{color:var(--ink-secondary);margin:.5rem 0 0;font-size:.9rem}.sheet__facts a{color:var(--ink);text-underline-offset:.2em;text-decoration:underline}.sheet__media{flex-direction:column;gap:.85rem;min-width:0;display:flex}.sheet__tiles{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:.85rem;display:grid}.sheet__tile{text-align:left;color:inherit;cursor:zoom-in;transition:border-color .22s var(--ease-out), transform .22s var(--ease-out), background-color .22s var(--ease-out);background:#ffffff07;border:1px solid #ffffff1a;border-radius:.9rem;flex-direction:column;padding:0;display:flex;overflow:hidden}button.sheet__tile:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent);transform:translateY(-2px)}button.sheet__tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.sheet__tile-frame{aspect-ratio:16/10;background:#ffffff05;width:100%;display:block;overflow:hidden}.sheet__tile--hero .sheet__tile-frame{aspect-ratio:16/9.6}.sheet__tile-frame img,.sheet__tile-frame video{object-fit:cover;width:100%;height:100%;display:block}.sheet__tile--clip{cursor:default}.sheet__tile-bar{border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.sheet__tile-label{font-family:var(--font-meta);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.sheet__tile-open{color:var(--ink-muted);transition:color .22s var(--ease-out), transform .22s var(--ease-out);flex:none}button.sheet__tile:hover .sheet__tile-open{color:color-mix(in srgb, var(--accent) 70%, var(--ink));transform:translate(2px,-2px)}.sheet__tile-note{border:1px solid color-mix(in srgb, var(--accent) 34%, transparent);font-family:var(--font-meta);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 62%, var(--ink));background:#00000073;border-radius:999px;padding:.24rem .5rem;font-size:.55rem;position:absolute;top:.6rem;left:.6rem}.sheet__tile--pending .sheet__tile-frame{position:relative}.sheet__tile-label{white-space:normal;line-height:1.35;overflow:visible}.sheet__tile--pending{cursor:default;border-style:dashed;border-color:color-mix(in srgb, var(--accent) 30%, #ffffff14)}.sheet__tile--pending .sheet__tile-frame{background:repeating-linear-gradient(-45deg, transparent 0 9px, color-mix(in srgb, var(--accent) 5%, transparent) 9px 10px), #ffffff04}.sheet__video{border:1px solid #ffffff1f;border-radius:.9rem;width:100%}@media (prefers-reduced-motion:reduce){.sheet__tile,.sheet__tile-open{transition:none}button.sheet__tile:hover,button.sheet__tile:hover .sheet__tile-open{transform:none}}@media (max-width:900px){.sheet{grid-template-columns:minmax(0,1fr);gap:1.75rem}.sheet__title{font-size:clamp(2rem,8vw,2.6rem)}.sheet__section{margin-top:1.5rem;padding-top:1.3rem}}@media (max-width:600px){.expanded-backdrop{align-items:start;padding:.5rem}.expanded,.expanded--solo{width:100%;height:calc(100dvh - 1rem);max-height:calc(100dvh - 1rem);padding-top:calc(3.75rem + env(safe-area-inset-top));background:color-mix(in srgb, var(--void) 96%, var(--ink));border-radius:1rem}.expanded__close{top:calc(.5rem + env(safe-area-inset-top));width:auto;height:44px;color:var(--ink);border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;padding:0 .75rem;display:flex;left:.75rem;right:.75rem}.expanded__back-label{font-family:var(--font-meta);font-size:.8rem;display:inline}.expanded__scroll{min-height:0;padding:1rem 1rem max(1.5rem, env(safe-area-inset-bottom));scroll-padding-block:1rem}.sheet{gap:1.5rem}.sheet__title{font-size:clamp(1.5rem,6.3vw,2rem);line-height:1.15}.sheet__tagline{font-size:1rem}.sheet__prose p,.sheet__points{font-size:1rem;line-height:1.65}.sheet__eyebrow{margin-bottom:.6rem}.sheet__section{margin-top:1.25rem;padding-top:1.25rem}.sheet__label{font-size:.9rem}.sheet__facts dt{letter-spacing:.1em;font-size:.72rem}.sheet__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1rem}.sheet__facts dd{overflow-wrap:anywhere;line-height:1.5}.sheet__facts a{align-items:center;min-height:44px;display:inline-flex}.sheet__stack li{overflow-wrap:anywhere;max-width:100%;font-size:.75rem}.sheet__tiles{grid-template-columns:minmax(0,1fr)}.lightbox{padding:3.75rem .75rem 1rem}.lightbox__close{width:44px;height:44px;top:max(.75rem, env(safe-area-inset-top))}}.welcome{max-width:1200px;margin-inline:auto;padding:2rem clamp(1.5rem,5vw,4rem) 1.5rem}.welcome .intro{grid-template-columns:1fr auto;gap:.5rem 2rem;padding:0;display:grid;position:relative;inset:auto}.welcome .intro:before{display:none}.welcome .intro__head{grid-row:span 2}.welcome .intro__eyebrow{display:none}.welcome .intro__copy{justify-self:end}.welcome .intro__about,.welcome .intro__links a{align-items:center;min-height:2.75rem;display:inline-flex}.welcome__body{text-align:center;padding-top:1.75rem}.welcome__role{max-width:100%;font-family:var(--font-meta);letter-spacing:-.055em;margin:0;font-size:clamp(2.4rem,5.3vw,4.75rem);font-weight:500;line-height:1.12}.welcome__description{max-width:56ch;color:var(--ink-secondary);text-wrap:pretty;margin:1.5rem auto 0;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.7}.welcome__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 2rem;margin-top:1.8rem;display:flex}.welcome__actions>a,.welcome__actions>button{justify-content:center;align-items:center;gap:1.25rem;min-height:3rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.welcome__projects{background:var(--ink);color:var(--void);border-radius:.45rem;padding:.8rem 1.25rem}.welcome__resume{color:var(--ink-secondary);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.welcome__resume:hover{color:var(--ink)}.welcome__resume:focus-visible{outline:3px solid var(--ink-muted);outline-offset:5px}.welcome__actions a span[aria-hidden]{transition:transform .22s var(--ease-out)}.welcome__projects:hover span{transform:translateY(3px)}.welcome__resume:hover span{transform:translate(2px,-2px)}.welcome__actions a:active{transform:translateY(1px)}.welcome__actions a:focus-visible{outline:3px solid var(--ink-muted);outline-offset:5px}.record-section{max-width:1080px;margin:160px auto 0;padding:2rem clamp(1rem,4vw,3rem) 4rem}.scene--landing .record-section{margin-top:0}.record-section:focus-visible{outline:2px solid var(--ink-muted);outline-offset:-2px}.record-section__title{color:var(--ink);font-family:var(--font-meta);text-align:center;margin:0 0 1.75rem;font-size:1.15rem;font-weight:500}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2.5rem);display:grid}.record-card{--rim-c:var(--rim-focus);--rim-h:var(--rim-focus-halo);border:1px solid color-mix(in srgb, var(--rim-c) 26%, transparent);background:var(--void);min-width:0;box-shadow:0 0 0 2px var(--rim-c), 0 0 38px var(--rim-h), inset 0 1px 0 var(--glass-edge);transition:transform .22s var(--ease-out);border-radius:.75rem;flex-direction:column;display:flex;position:relative}.record-card:hover{transform:translateY(-4px)}.record-card:active{transform:translateY(-1px)}.record-card:hover{--rim-c:var(--rim-live);--rim-h:transparent}.record-card:has(.record-card__hit:focus-visible){--rim-c:var(--rim-live);--rim-h:transparent}.record-card:has(.record-card__hit:active){--rim-c:var(--rim-live);--rim-h:transparent}.record-card:hover .panel__rim{opacity:1}.record-card:has(.record-card__hit:focus-visible) .panel__rim{opacity:1}.record-card:has(.record-card__hit:active) .panel__rim{opacity:1}.record-card .panel__rim-spin{animation-play-state:paused}.record-card:hover .panel__rim-spin,.record-card:focus-within .panel__rim-spin{animation-play-state:running}.record-card__hit{z-index:4;border-radius:inherit;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.record-card__hit:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.record-card__art{aspect-ratio:1.7;border-radius:inherit;background:radial-gradient(ellipse at center, color-mix(in srgb, var(--accent) 15%, transparent), transparent 70%);place-items:center;display:grid}.record-card__art .panel__disc{width:52%}.record-card__copy{flex-direction:column;flex:1;padding:0 clamp(.85rem,2.4vw,1.75rem) 1.5rem;display:flex}.record-card h3{overflow-wrap:anywhere;margin:0;font-size:clamp(.95rem,2vw,1.65rem);line-height:1.25}.record-card p{color:var(--ink-secondary);overflow-wrap:anywhere;margin:.65rem 0 1.25rem;font-size:clamp(.8rem,1.4vw,1rem);line-height:1.55}.record-card__open{font-family:var(--font-meta);color:var(--accent);justify-content:space-between;margin-top:auto;font-size:.75rem;display:flex}.welcome .intro{flex-direction:column;align-items:center;gap:.25rem;display:flex}.welcome .intro__head{text-align:center;flex-direction:column;gap:.85rem}.welcome .intro__portrait{width:104px;height:104px}.welcome .intro__portrait img{object-fit:cover;width:100%;height:100%}.welcome .intro__actions{justify-content:center}.welcome .intro__copy{align-items:center;min-height:2rem;position:relative}.welcome .intro__copy-state{position:absolute;top:100%;left:50%;transform:translate(-50%)}.welcome__role{overflow-wrap:anywhere}@media (max-width:600px){.welcome{padding-top:1.5rem;padding-bottom:2rem}.welcome .intro{grid-template-columns:1fr;gap:.5rem}.welcome .intro__head{grid-row:auto}.welcome .intro__copy{justify-self:start}.welcome__body{padding-top:1.75rem}.welcome__role{font-size:clamp(2rem,8.5vw,3rem)}.welcome__description{margin-top:1.1rem}.welcome__actions{margin-top:1.35rem}.welcome .intro__actions{justify-content:center}.welcome .intro__portrait{width:88px;height:88px}.record-card__copy{padding-bottom:1rem}}@media (prefers-reduced-motion:reduce){.welcome__actions a span[aria-hidden],.record-card{transition:none}.record-card:hover,.record-card:active,.welcome__actions a:hover span,.welcome__actions a:active{transform:none}}.about__resume{color:var(--ink-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.about__resume:hover{color:var(--ink)}.about__resume:focus-visible{outline:3px solid var(--ink-muted);outline-offset:3px}.resume-viewer{--resume-surface:color-mix(in srgb, var(--void) 94%, var(--ink));border:1px solid var(--glass-edge);background:var(--resume-surface);width:min(980px,100% - 2rem);max-width:none;height:92dvh;max-height:92dvh;color:var(--ink);font-family:var(--font-display);border-radius:1rem;padding:0;font-style:normal;overflow:hidden}.resume-viewer[open]{flex-direction:column;display:flex}.resume-viewer::backdrop{background:color-mix(in srgb, var(--void) 85%, transparent)}.resume-viewer__header{justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.resume-viewer__header h2{margin:0;font-size:1.05rem;font-weight:700}.resume-viewer__header button{font-size:1.5rem}.resume-viewer__tools{border-bottom:1px solid var(--glass-edge);flex-wrap:wrap;gap:.5rem 1rem;padding:0 1.25rem .75rem;display:flex}.resume-viewer button,.resume-viewer a{border:1px solid var(--glass-edge);background:var(--resume-surface);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;border-radius:.35rem;justify-content:center;align-items:center;padding:.4rem .65rem;font-family:inherit;text-decoration:none;display:inline-flex}.resume-viewer__tools button,.resume-viewer__tools a{font-size:.85rem;font-weight:400}.resume-viewer button:hover,.resume-viewer a:hover{background:var(--glass-fill)}.resume-viewer :focus-visible{outline:3px solid var(--ink-muted);outline-offset:-3px}.resume-viewer__document{overscroll-behavior:contain;flex:1;min-height:0;padding:1rem;overflow:auto}.resume-viewer__document img{width:100%;height:auto;display:block}.resume-viewer__document--zoomed img{width:max(100%,1200px);max-width:none}.resume-viewer__text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);font-size:1rem;line-height:1.65}@media (max-width:600px){.resume-viewer{width:calc(100% - 1rem);height:96dvh;max-height:96dvh}.resume-viewer__header{padding-inline:.75rem}.resume-viewer__tools{gap:.4rem;padding-inline:.75rem}.resume-viewer__document{padding:.5rem}}
