:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#f4f4f5;background-color:#111113;--bg: #111113;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--scroll: 0}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;min-width:320px;background-color:#111113}#root{width:100%;min-height:100vh}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.nav{position:fixed;top:0;left:0;right:0;z-index:40;height:76px;background:transparent;opacity:0;transform:translate3d(0,-100%,0);pointer-events:none}.nav-plate{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr auto 1fr 1fr;align-items:center;justify-items:center;width:100%;height:100%;padding:0 6vw;box-sizing:border-box;background:var(--bg)}.nav-mark{width:120px}.nav-rule{position:absolute;left:0;right:0;bottom:0;z-index:2;height:2px;overflow:hidden;opacity:var(--rule, 0);pointer-events:none}.nav-rule-sheen{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.nav a{position:relative;color:#fff;text-decoration:none;font-size:16px;font-weight:500;padding:10px 0 12px}.line{position:absolute;left:50%;bottom:4px;height:4px;width:0;overflow:hidden;transform:translate(-50%);pointer-events:none;transition:width .25s ease}.line-sheen{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.nav a:hover .line{width:22px}.nav a[aria-current=page] .line{width:calc(100% + 10px)}.logo{position:fixed;top:0;left:0;z-index:50;display:grid;grid-template-columns:var(--stroke, 20vh) var(--j-flex, 1fr) var(--stroke, 20vh) var(--stroke, 20vh) var(--stroke, 20vh) var(--l-flex, 1fr);grid-template-rows:var(--stroke, 20vh) var(--mid, 1fr) var(--stroke, 20vh) var(--stroke, 20vh);width:100%;height:100%;box-sizing:border-box;margin:0;padding:0;border:0;background:var(--bg);overflow:hidden;transform-origin:top left;cursor:pointer;will-change:transform}.logo:focus-visible{outline:2px solid #fff;outline-offset:6px}.logo-sheen{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0}.cell{position:relative;z-index:1;background:var(--bg)}.cell.on{background:transparent}.scroll-hint{position:fixed;bottom:28px;left:0;right:0;z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;letter-spacing:.22em;text-transform:uppercase;font-size:12px;color:#fff;pointer-events:none;opacity:calc(1 - var(--scroll, 0) * 2.8)}.scroll-hint>span{display:block;animation:scroll-hint-bounce 2.8s cubic-bezier(.45,.05,.55,.95) 3s infinite}.scroll-hint .scroll-chevron{width:7px;height:7px;margin-top:-2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);animation:scroll-chevron 2.8s cubic-bezier(.45,.05,.55,.95) 3s infinite}.scroll-hint.is-paused,.scroll-hint.is-paused span{animation-play-state:paused}@keyframes scroll-hint-bounce{0%,16%,to{transform:translateZ(0)}46%{transform:translate3d(0,8px,0)}64%{transform:translate3d(0,-2px,0)}}@keyframes scroll-chevron{0%,16%,to{transform:translateZ(0) rotate(45deg);opacity:.8}46%{transform:translate3d(0,12px,0) rotate(45deg);opacity:.3}64%{transform:translate3d(0,-2px,0) rotate(45deg);opacity:.8}}@media (prefers-reduced-motion: reduce){.scroll-hint>span,.scroll-hint .scroll-chevron{animation:none}.scroll-hint .scroll-chevron{transform:rotate(45deg)}}.hero{height:100vh}.profile-pin{scroll-margin-top:112px}.profile-stage{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(36px,6vw,88px);max-width:1080px;margin:0 auto;padding:36px 28px 130vh;box-sizing:border-box}.profile-slot,.profile-frame{width:min(38vw,420px,calc((100vh - 256px)*.744));aspect-ratio:475 / 638}.profile-frame{position:fixed;top:148px;z-index:2;border-radius:18px;overflow:hidden;background:transparent;pointer-events:none}.profile-copy{margin-top:68vh}.profile-frame img,.profile-frame canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.profile-frame img{object-fit:cover}.profile-frame canvas{opacity:0}.profile-frame.is-gl canvas{opacity:1}.profile-frame.is-gl img{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-copy h2{margin:0;font-size:clamp(48px,6vw,84px);line-height:.9;font-weight:560;letter-spacing:-.045em}.profile-role{margin:16px 0 0;color:#a1a1aa;font-size:15px;letter-spacing:.04em}.profile-copy .lede+.lede{margin-top:14px}@media (prefers-reduced-motion: reduce){.profile-stage{min-height:calc(100vh - 76px);padding-top:156px;padding-bottom:96px}.profile-frame{position:relative;top:auto;left:auto;width:100%}.profile-copy{margin-top:0}}@media (max-width: 760px){.profile-stage{grid-template-columns:1fr;justify-items:center;gap:28px;padding:96px 22px 118vh}.profile-slot,.profile-frame{width:min(100%,280px)}.profile-frame{top:132px}.profile-copy{width:100%;margin-top:48vh}}.section{min-height:100vh;max-width:880px;margin:0 auto;padding:120px 28px 96px;text-align:left;scroll-margin-top:132px;box-sizing:border-box}.eyebrow{margin:0 0 12px;color:#a855f7;letter-spacing:.18em;text-transform:uppercase;font-size:12px}.section h2,.contact h2{margin:0;font-size:clamp(40px,6vw,72px);line-height:.95;font-weight:560;letter-spacing:-.04em}.lede{max-width:38rem;margin:20px 0 0;color:#c4c4cc;font-size:18px}.section-skills{max-width:none;width:100%;min-height:0;margin:0;padding:0}.skills-pin{height:235vh}.skills-stage{position:sticky;top:132px;display:flex;flex-direction:column;height:calc(100vh - 132px);max-width:880px;margin:0 auto;padding:24px 28px 0;box-sizing:border-box;overflow:hidden}.skills-intro,.skills-board{position:relative;z-index:1}.skills-intro{text-align:left;background:var(--bg)}.skills-board{position:relative;flex:1;min-height:0;margin-top:36px;overflow:hidden}.skills-traces{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;overflow:visible;pointer-events:none}.skills-traces path{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skills-groups{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px;padding:20px 0 28px 108px;transform:translateZ(0)}.skill-group{display:flex;flex-direction:column;gap:12px;padding:14px 14px 16px;border:1px solid #2e2e33;border-radius:12px;background:var(--bg);transition:opacity .45s ease,transform .45s ease}.is-armed .skill-group{opacity:0;transform:translateY(12px)}.is-armed .skill-group.is-in{opacity:1;transform:none}.skill-label{margin:0;color:#a1a1aa;font-size:11px;font-weight:500;line-height:1;letter-spacing:.18em;text-transform:uppercase}.skill-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.skill{position:relative;box-sizing:border-box;display:inline-flex;align-items:center;height:36px;gap:8px;padding:0 12px;border:1px solid #3f3f46;border-radius:8px;color:#f4f4f5;font-size:15px;line-height:1;white-space:nowrap;outline:none;transition:border-color .25s ease}.is-core .skill{color:#fff}.skill:hover,.skill:focus-visible{border-color:#71717a}.skill:focus-visible{outline:2px solid #fff;outline-offset:3px}.skill-mark{width:16px;height:16px;flex:none;display:block;fill:currentColor}.skill-monogram{width:16px;height:16px;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:560;letter-spacing:-.04em;line-height:1}.skill-sheen{position:absolute;left:10px;right:10px;bottom:0;height:2px;overflow:hidden;transform:scaleX(0);transform-origin:center;pointer-events:none;transition:transform .25s ease}.skill-sheen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#ffd319,#2de2e6,#ff76ff,#540d6e);background-size:220% 100%}.skill:hover .skill-sheen,.skill:focus-visible .skill-sheen{transform:scaleX(1)}.skill:hover .skill-sheen:before,.skill:focus-visible .skill-sheen:before{animation:skill-sheen 2.8s linear infinite}@keyframes skill-sheen{0%{background-position:0% 50%}to{background-position:100% 50%}}@media (prefers-reduced-motion: reduce){.skills-pin{height:auto}.skills-stage{position:relative;top:auto;height:auto;overflow:visible}.skills-board{flex:none;overflow:visible}.is-armed .skill-group,.is-armed .skill-group.is-in{opacity:1;transform:none}.skill-group,.skill,.skill-sheen{transition:none}.skill:hover .skill-sheen:before,.skill:focus-visible .skill-sheen:before{animation:none}}@media (max-width: 640px){.nav-plate{padding:0 12px}.nav a{font-size:14px}}.contact{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;padding:120px 28px 96px;scroll-margin-top:132px;box-sizing:border-box}.contact-stage{position:relative;z-index:1;max-width:720px;margin:0 auto}.contact a{color:#2de2e6;text-underline-offset:3px}.contact a:hover{color:#ff76ff}.contact-sun{position:absolute;z-index:0;left:50%;top:54%;width:min(680px,100vw);height:min(680px,100vw);transform:translate(-50%,-50%);border-radius:50%;background:repeating-linear-gradient(to bottom,transparent 0 14px,rgba(17,17,19,.35) 14px 16px),radial-gradient(circle at 50% 42%,#ffd319 0 10%,#ff76ff 32%,#540d6e 56%,transparent 68%);-webkit-mask-image:linear-gradient(to bottom,transparent 0 8%,#000 22% 48%,transparent 70%);mask-image:linear-gradient(to bottom,transparent 0 8%,#000 22% 48%,transparent 70%);pointer-events:none}.contact-grid{position:absolute;z-index:0;left:50%;bottom:-8%;width:160%;height:48%;transform:translate(-50%) perspective(420px) rotateX(64deg);transform-origin:center top;background-image:linear-gradient(to right,rgba(255,118,255,.38) 1px,transparent 1px),linear-gradient(to bottom,rgba(45,226,230,.32) 1px,transparent 1px);background-size:72px 42px;-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 78%);mask-image:linear-gradient(to bottom,#000 0%,transparent 78%);pointer-events:none}.contact-card{position:relative;margin-top:36px;padding:26px 22px 8px;border:1px solid #2e2e33;border-radius:16px;background:#141218;box-shadow:0 24px 80px #00000073,0 0 0 1px #ff76ff0f}.contact-card label{display:block;margin-top:16px;color:#a1a1aa;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-row label{margin-top:0}.contact-card input,.contact-card textarea{width:100%;box-sizing:border-box;margin-top:8px;padding:12px 14px;border:1px solid #3f3f46;border-radius:8px;background:#0c0c0e;color:#f4f4f5;font:inherit;font-size:16px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.contact-card textarea{min-height:148px;resize:vertical;line-height:1.5}.contact-card input::placeholder,.contact-card textarea::placeholder{color:#71717a}.contact-card input:focus,.contact-card textarea:focus{border-color:#2de2e6;box-shadow:0 0 0 1px #2de2e6,0 0 18px #ff76ff59}.contact-card input:-webkit-autofill,.contact-card textarea:-webkit-autofill{-webkit-text-fill-color:#f4f4f5;caret-color:#f4f4f5;box-shadow:0 0 0 1000px #0c0c0e inset}.contact-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-actions{display:flex;justify-content:flex-end;margin-top:22px}.contact-send{position:relative;display:inline-flex;margin:0 0 22px;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 0 14px rgba(255,118,255,.45)) drop-shadow(0 0 24px rgba(45,226,230,.28));transition:filter .2s ease,transform .2s cubic-bezier(.2,.8,.2,1)}.contact-send-border{position:relative;display:flex;padding:1.5px;overflow:hidden;border-radius:14px;background:#2de2e6}.contact-send-border:before{content:"";position:absolute;z-index:0;top:0;bottom:0;left:0;width:200%;background:linear-gradient(90deg,#2de2e6,#ff76ff,#ffd319,#2de2e6,#ff76ff,#ffd319,#2de2e6);animation:contact-send-loop 3.2s linear infinite;pointer-events:none}@keyframes contact-send-loop{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.contact-send-face{position:relative;z-index:1;display:inline-flex;flex:1;align-items:center;justify-content:center;min-width:176px;height:50px;padding:0 28px;overflow:hidden;border-radius:12px;background:#100814}.contact-send-face:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#1008149e;pointer-events:none}.contact-send-sheen{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;opacity:.55}.contact-send-label{position:relative;z-index:2;color:#fff;font-size:13px;font-weight:700;letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;text-shadow:0 0 10px rgba(255,255,255,.55)}.contact-send:after{content:"";position:absolute;left:12%;right:12%;top:calc(100% - 6px);height:16px;background:linear-gradient(90deg,#2de2e6,#ff76ff,#ffd319);filter:blur(12px);opacity:.65;pointer-events:none}.contact-send:hover{filter:drop-shadow(0 0 16px rgba(255,118,255,.75)) drop-shadow(0 0 32px rgba(45,226,230,.5))}.contact-send:active{transform:translateY(1px) scale(.98)}.contact-send:focus-visible{outline:3px solid #ff76ff;outline-offset:4px}.contact-send:disabled{cursor:progress;filter:saturate(.55) brightness(.8)}.contact-status{min-height:1.5em;margin:0 0 16px;font-size:15px}.contact-status.is-ok{color:#2de2e6}.contact-status.is-bad{color:#ff76ff}@media (max-width: 640px){.contact{padding:112px 18px 72px}.contact-row{grid-template-columns:1fr;gap:16px}.contact-actions,.contact-send,.contact-send-border{width:100%}.contact-send{box-sizing:border-box}}@media (prefers-reduced-motion: reduce){.contact-send-border:before{animation:none}.contact-send,.contact-card input,.contact-card textarea{transition:none}}
