@font-face{font-family:Burgundia;src:url(/docs/Burgundia_PERSONAL_USE_ONLY.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Epic Pro;src:url(/docs/epicpro.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Talina;src:url(/docs/TalinaDEMO-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}body,html{margin:0;padding:0;background:#02030a}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}*,:after,:before{-webkit-tap-highlight-color:transparent}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}button{cursor:pointer}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(140,205,255,.9);outline-offset:3px}@keyframes pageEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}body.page-transitioning main.page{animation:pageEnter .48s cubic-bezier(.22,.61,.36,1) both}body.page-transitioning #music-btn-desktop{opacity:0;animation:fadeUp .48s cubic-bezier(.22,.61,.36,1) .1s both}.glass-round-btn{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#fff;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 32px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(255,255,255,.04);transition:background .3s ease,transform .35s cubic-bezier(.34,1.56,.64,1),border-color .3s ease}.glass-round-btn:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22);transform:translateY(-1px) scale(1.05)}#mobile-topbar{position:fixed;top:18px;left:16px;right:16px;z-index:450;display:none;align-items:center;justify-content:space-between;opacity:0;animation:fadeUp .8s cubic-bezier(.22,.61,.36,1) .25s forwards}.mobile-logo-link{position:absolute;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.mobile-logo{height:36px;width:auto;display:block;filter:brightness(0) invert(1)}#menu-btn{position:relative;gap:5px;flex-direction:column}#menu-btn span{width:16px;height:1.7px;border-radius:999px;background:rgba(255,255,255,.92);transition:transform .3s ease,opacity .3s ease}#menu-btn.is-open span:first-child{transform:translateY(3.6px) rotate(45deg)}#menu-btn.is-open span:last-child{transform:translateY(-3.6px) rotate(-45deg)}#mobile-menu{position:fixed;inset:0;z-index:430;background:radial-gradient(circle at top center,rgba(120,180,255,.1),transparent 40%),rgba(2,3,10,.72);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s;display:none;align-items:center;justify-content:center}#mobile-menu.open{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .4s ease,visibility 0s}.mobile-menu-panel{gap:18px;padding:20px 24px 40px}.mobile-menu-link,.mobile-menu-panel{display:flex;flex-direction:column;align-items:center}.mobile-menu-link{text-decoration:none;padding:10px 48px;position:relative;opacity:0;transform:scale(.2);background:transparent;border:none;white-space:nowrap;text-align:center;transition:transform .38s cubic-bezier(.34,1.56,.64,1)}.mobile-menu-link:hover{transform:translateY(-3px) scale(1.04)}.mobile-menu-title{font-family:Burgundia,cursive;font-size:clamp(38px,10vw,68px);font-weight:400;color:rgba(255,255,255,.9);line-height:1.1;letter-spacing:.02em;transition:color .38s ease,text-shadow .38s ease,letter-spacing .45s cubic-bezier(.34,1.56,.64,1)}.mobile-menu-link:hover .mobile-menu-title{color:#fff;letter-spacing:.07em;text-shadow:0 0 16px rgba(140,215,255,.9),0 0 40px rgba(80,165,255,.55),0 0 80px rgba(60,120,255,.28)}.mobile-menu-desc{font-family:Montserrat,sans-serif;font-size:clamp(10px,2.5vw,12px);font-weight:400;color:rgba(255,255,255,.55);letter-spacing:.14em;text-transform:uppercase;margin-top:2px;transition:color .38s ease,transform .38s cubic-bezier(.34,1.56,.64,1)}.mobile-menu-link:hover .mobile-menu-desc{color:rgba(255,255,255,.82);transform:translateY(-1px)}.mobile-menu-link.active .mobile-menu-title{color:#fff;text-shadow:0 0 12px rgba(140,215,255,.7),0 0 32px rgba(80,165,255,.4)}.mobile-menu-link.active .mobile-menu-desc{color:rgba(140,210,255,.65)}.mobile-menu-link.active:after{content:"";position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:rgba(140,210,255,.85)}#mobile-menu .mobile-menu-link[data-page=experience] .mobile-menu-title,#mobile-menu .mobile-menu-link[data-page=projects] .mobile-menu-title{line-height:1.28}#mobile-menu .mobile-menu-link[data-page=experience] .mobile-menu-desc,#mobile-menu .mobile-menu-link[data-page=projects] .mobile-menu-desc{margin-top:6px}#menu-close-mobile{position:fixed;top:18px;right:16px;z-index:460;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#fff;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .4s ease,background .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1),visibility 0s linear .4s;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#menu-close-mobile svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;display:block}#menu-close-mobile.visible{opacity:1;pointer-events:all;visibility:visible;transition:opacity .4s ease,background .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1),visibility 0s}#menu-close-mobile:hover{background:rgba(255,255,255,.15);transform:rotate(90deg) scale(1.1)}#menu-close-mobile:active{transform:rotate(90deg) scale(.88)!important;transition:transform .08s ease!important}body.menu-open{overflow:hidden}@media (max-width:900px){#mobile-menu,#mobile-topbar{display:flex}#mobile-topbar #music-btn{position:static;top:auto;left:auto;animation:none;opacity:1;flex-shrink:0}}@media (max-width:768px){footer .copyright{margin-left:auto;text-align:right;white-space:nowrap;line-height:1.6}footer .copyright-last{display:block}}@media (max-width:900px){footer .social-links{gap:0}footer .social-links a{justify-content:center;min-width:44px}.projects-grid .project-link-btn,footer .social-links a{display:inline-flex;align-items:center;min-height:44px}body .scroll-top-btn{min-width:44px}}@media (max-width:420px){body .page-title{font-size:clamp(34px,11vw,52px)}}@media (max-width:900px){.bio-para a,.cs-body a,.cs-elevator a{padding-block:7px}}@media (prefers-reduced-motion:reduce){body .cs-section{opacity:1;transform:none;filter:none;transition:none}body #mobile-topbar,body .cs-cover-banner,body .cs-hero-labels,body .cs-hero-subtitle,body .cs-hero-title,body .project-card{opacity:1;transform:none;animation-duration:.01ms;animation-delay:0s}body .ui-gallery{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity}body .ui-marquee-track{animation:none;transform:none}body .ui-marquee-track .ui-card{scroll-snap-align:center}body.page-transitioning main.page{animation-duration:.01ms}}[data-off],[data-off] *,[data-off] :after,[data-off] :before{animation-play-state:paused!important}.xg{position:fixed;inset:0;z-index:99990;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--c) 14%,rgba(2,3,10,.7)),rgba(2,3,10,.86) 70%);animation:xg-fade .25s ease both;font-family:Montserrat,sans-serif}@keyframes xg-fade{0%{opacity:0}to{opacity:1}}.xg.is-out{animation:xg-fade-out .3s ease both}@keyframes xg-fade-out{to{opacity:0}}.xg-card{position:relative;width:min(420px,100%);overflow:hidden;padding:34px 28px 22px;border-radius:28px;text-align:center;background:radial-gradient(120% 70% at 50% 0,color-mix(in srgb,var(--c) 18%,transparent),transparent 60%),linear-gradient(180deg,#10142a,#080a18);border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px color-mix(in srgb,var(--c) 12%,transparent) inset;animation:xg-pop .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes xg-pop{0%{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}.xg.is-out .xg-card{animation:xg-pop-out .26s cubic-bezier(.4,0,1,1) both}@keyframes xg-pop-out{to{opacity:0;transform:translateY(14px) scale(.95)}}.xg-card:before{content:"";position:absolute;top:0;left:18%;right:18%;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--c),transparent)}.xg-grab{display:none}.xg-orb{position:relative;width:84px;height:84px;margin:0 auto 18px;display:grid;place-items:center}.xg-orb:before{content:"";inset:8px;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 40%,#1a1f3c),#0b0e20 70%);box-shadow:0 0 34px color-mix(in srgb,var(--c) 35%,transparent)}.xg-orb-ring,.xg-orb:before{position:absolute;border-radius:50%}.xg-orb-ring{inset:0;background:conic-gradient(from 0deg,transparent 0 55%,var(--c) 85%,transparent);-webkit-mask:radial-gradient(circle,transparent 60%,#000 61%);mask:radial-gradient(circle,transparent 60%,#000 61%);animation:xg-spin 2.6s linear infinite}@keyframes xg-spin{to{transform:rotate(1turn)}}.xg-orb-icon{position:relative;width:32px;height:32px;fill:none;stroke:var(--c);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.xg-orb-icon.is-brand{fill:var(--c);stroke:none}.xg-kicker{margin:0;font-size:10px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--c)}.xg-title{margin:10px 0 0;font-size:20px;font-weight:700;line-height:1.35;color:#fff;overflow-wrap:anywhere}.xg-detail{margin:4px 0 0;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.55)}.xg-desc{margin:12px auto 0;max-width:320px;font-size:13px;line-height:1.7;color:rgba(255,255,255,.6)}.xg-desc strong{color:#fff;font-weight:700}.xg-dest{display:flex;align-items:center;gap:8px;margin:18px auto 0;max-width:100%;width:-moz-fit-content;width:fit-content;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);font-size:12px;font-weight:600;color:rgba(255,255,255,.78)}.xg-dest span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xg-dest svg{flex:none;width:13px;height:13px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.xg-lock{stroke:#4be38a}.xg-newtab{stroke:rgba(255,255,255,.45)}.xg-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:24px}.xg-card{padding-bottom:28px}.xg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:16px;font:700 13.5px/1 Montserrat,sans-serif;color:rgba(255,255,255,.85);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}.xg-btn:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.28)}.xg-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.xg-btn.is-go{color:#05060f;border-color:transparent;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 80%,#fff),var(--c));box-shadow:0 8px 24px color-mix(in srgb,var(--c) 35%,transparent)}.xg-btn.is-go:hover{transform:translateY(-1px);box-shadow:0 12px 30px color-mix(in srgb,var(--c) 45%,transparent)}.xg-btn.is-go:hover svg{transform:translate(2px,-2px)}.xg-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}a.xg-btn{text-decoration:none}.xg-x{position:absolute;top:14px;right:14px;z-index:1;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:rgba(255,255,255,.6);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:color .2s,background .2s,transform .3s}.xg-x:hover{color:#fff;background:rgba(255,255,255,.1);transform:rotate(90deg)}.xg-x:focus-visible{outline:2px solid #fff;outline-offset:2px}.xg-x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}@media (max-width:600px){.xg{place-items:end center;padding:0}.xg-card{width:100%;border-radius:28px 28px 0 0;border-bottom:none;padding:14px 20px calc(20px + env(safe-area-inset-bottom));animation:xg-sheet .55s cubic-bezier(.32,.72,0,1) both;will-change:transform}@keyframes xg-sheet{0%{transform:translateY(100%)}to{transform:none}}.xg.is-out{animation:xg-fade-out .36s ease .04s both}.xg.is-out .xg-card{animation:xg-sheet-out .36s cubic-bezier(.4,0,.8,.4) both}@keyframes xg-sheet-out{0%{transform:none}to{transform:translateY(100%)}}.xg-x{top:12px;right:12px}.xg-grab{display:block;width:40px;height:4px;margin:0 auto 18px;border-radius:4px;background:rgba(255,255,255,.2)}.xg-orb{width:72px;height:72px}.xg-title{font-size:18px}.xg-actions{grid-template-columns:1fr}.xg-btn.is-go{order:-1}}@media (prefers-reduced-motion:reduce){.xg,.xg-card,.xg-orb-ring{animation:none!important}}body:has(.xg) .cursor-ring{border:2px solid rgba(255,255,255,.95)!important;box-shadow:0 0 0 1px rgba(0,0,0,.35),0 0 18px rgba(140,200,255,.45)!important}body:has(.xg) #cursor-dot{box-shadow:0 0 0 1.5px rgba(0,0,0,.5),0 0 8px #fff!important}