:root{--background:#050715;--background-elevated:#0a1022;--surface:#0e162a;--surface-strong:#151f38;--foreground:#f7f8ff;--muted:#9ea9c3;--muted-strong:#c7cee1;--accent:#44c7ff;--accent-strong:#8b5cf6;--accent-warm:#ffd12f;--accent-orange:#ff8a1f;--accent-ink:#090806;--border:#7dbeff2b;--border-strong:#755fff6b;--border-soft:#7dbeff17;--shadow:0 24px 90px #00000057;--glow:0 0 0 1px #44c7ff0f, 0 0 54px #5657ff24;--radius-small:12px;--radius-medium:20px;--radius-large:28px;--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--container:1220px}*,:before,:after{box-sizing:border-box}html{background:var(--background);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth;min-width:320px}body{min-width:320px;min-height:100vh;color:var(--foreground);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 78% 0,#5245ff24,#0000 28rem),radial-gradient(circle at 12% 34%,#00aaff12,#0000 32rem),linear-gradient(#050715 0%,#060a18 58%,#040611 100%);margin:0;font-size:16px;line-height:1.65;overflow-x:clip}body:before{z-index:-2;content:"";pointer-events:none;background-image:linear-gradient(#54a6ff06 1px,#0000 1px),linear-gradient(90deg,#54a6ff06 1px,#0000 1px);background-size:76px 76px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000000a6,#0000 72%);mask-image:linear-gradient(#000000a6,#0000 72%)}.site-ambient{z-index:-1;filter:blur(8px);pointer-events:none;background:radial-gradient(circle,#694fff29 0%,#2482ff0f 38%,#0000 70%);border-radius:999px;width:min(52rem,78vw);height:min(52rem,78vw);position:fixed;top:4rem;right:-15rem}::selection{color:#fff;background:#8b5cf65c}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button{color:inherit}h1,h2,h3,p,ul,ol{margin-top:0}h1,h2,h3{color:var(--foreground);letter-spacing:-.042em;text-wrap:balance;font-weight:650}p{color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--accent);color:var(--accent-ink);border-radius:10px;padding:.7rem 1rem;font-weight:750;transition:transform .14s;position:fixed;top:.8rem;left:.8rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.container{width:min(var(--container), calc(100% - 2rem));margin-inline:auto}.site-header{z-index:100;border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050715e0;position:sticky;top:0}.site-header:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#44c7ffad,#8b5cf6ad,#0000);width:22rem;max-width:34vw;height:1px;position:absolute;bottom:-1px;right:12%}.site-header__inner{align-items:center;gap:1.25rem;min-height:72px;display:flex}.site-header__brand{flex:0 auto;min-width:0;display:inline-flex}.site-header__brand .brand{gap:0}.site-header__brand .brand__signal{border-radius:13px;flex-basis:44px;width:44px;height:44px}.brand{align-items:center;gap:.72rem;min-width:0;display:inline-flex}.brand__signal{border:1px solid var(--border-strong);background:radial-gradient(circle at 28% 20%,#44c7ff40,#0000 45%),linear-gradient(145deg,#0e1730,#080d1e);border-radius:11px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0f,0 0 28px #6753ff24}.brand__signal i{background:var(--accent);border-radius:999px;width:8px;height:8px;position:absolute;box-shadow:0 0 12px}.brand__signal i:first-child{color:var(--accent);transform:translate(-6px,4px)}.brand__signal i:nth-child(2){background:var(--accent-strong);width:7px;height:7px;color:var(--accent-strong);transform:translate(6px,4px)}.brand__signal i:nth-child(3){background:var(--accent-warm);width:6px;height:6px;color:var(--accent-warm);transform:translateY(-7px)}.brand__copy{min-width:0;line-height:1.08;display:grid}.brand__copy strong{letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.brand__copy span{max-width:13rem;color:var(--muted);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;margin-top:.22rem;font-size:.59rem;overflow:hidden}.desktop-nav{flex:1;justify-content:center;align-items:center;gap:clamp(1.1rem,2.2vw,2rem);display:none}.desktop-nav__link{min-height:44px;color:var(--muted-strong);align-items:center;font-size:.79rem;font-weight:650;transition:color .15s,background-color .15s;display:inline-flex;position:relative}.desktop-nav__link:after{background:var(--accent);content:"";transform-origin:50%;height:1px;transition:transform .15s;position:absolute;bottom:8px;left:0;right:0;transform:scaleX(0)}.desktop-nav__link:hover,.desktop-nav__link[data-current=true]{color:var(--accent)}.desktop-nav__link[data-current=true]:after{transform:scaleX(1)}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:.55rem;min-height:46px;padding:.78rem 1.15rem;font-size:.86rem;font-weight:750;line-height:1;transition:transform .15s,border-color .15s,background-color .15s,color .15s,box-shadow .15s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{color:var(--accent-ink);background:linear-gradient(135deg,#ffe13b 0%,#ffbd29 55%,#ff8a1f 100%);border-color:#ffdc46e6;box-shadow:inset 0 1px #ffffff94,0 12px 30px #ff971f33}.button--primary:hover{background:linear-gradient(135deg,#ffea61 0%,#ffc43d 52%,#ff982d 100%);border-color:#fff08a;box-shadow:inset 0 1px #ffffffad,0 15px 38px #ff971f47}.button--secondary{color:var(--foreground);background:linear-gradient(135deg,#44c7ff17,#8b5cf614),#080d1dc7;border-color:#4bb0ff80}.button--secondary:hover{background:linear-gradient(135deg,#44c7ff24,#8b5cf624),#080d1de6;border-color:#8b5cf6b8}.button--quiet{border-color:var(--border);color:var(--muted-strong);background:0 0}.button--quiet:hover{border-color:var(--border-strong);color:var(--foreground)}.header-cv{flex:none;min-height:40px;padding:.68rem 1rem;font-size:.75rem;display:none}.menu-button{border:1px solid var(--border);background:var(--background-elevated);cursor:pointer;border-radius:11px;place-items:center;width:44px;height:44px;margin-left:auto;display:inline-grid}.menu-button:hover{border-color:var(--border-strong);background:#596fff17}.mobile-nav-shell{border-top:1px solid var(--border-soft);background:#050715fa;display:none}.mobile-nav-shell[data-open=true]{display:block}.mobile-nav{gap:.25rem;padding-block:.75rem 1rem;display:grid}.mobile-nav__link{border-bottom:1px solid var(--border-soft);min-height:46px;color:var(--muted-strong);align-items:center;font-size:.92rem;font-weight:650;display:flex}.mobile-nav__link[data-current=true]{color:var(--accent)}.mobile-nav__cv{margin-top:.6rem}.eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.115em;text-transform:uppercase;align-items:center;gap:.58rem;margin-bottom:1.1rem;font-size:.67rem;font-weight:700;line-height:1.5;display:flex}.eyebrow>span{background:var(--accent);border-radius:999px;flex:0 0 5px;width:5px;height:5px;box-shadow:0 0 12px #44c7ffc7}.page-intro{border-bottom:1px solid var(--border-soft);padding-block:clamp(4.5rem,8vw,7rem);position:relative;overflow:hidden}.page-intro:after{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 35% 45%,#44c7ff21,#0000 46%),radial-gradient(circle at 70% 45%,#8b5cf624,#0000 60%);border-radius:999px;width:44rem;height:38rem;position:absolute;top:-17rem;left:45%}.page-intro h1{max-width:980px;margin-bottom:1.3rem;font-size:clamp(2.3rem,6vw,4.75rem);line-height:1.02}.page-intro>.container>p:not(.eyebrow){max-width:760px;margin-bottom:0;font-size:clamp(1rem,1.8vw,1.13rem);line-height:1.75}.page-intro__tags{margin-top:1.7rem}.section-block{padding-block:clamp(4.5rem,8vw,7.5rem)}.section-block--compact{padding-block:clamp(3.75rem,6vw,6rem)}.direct-page-section{min-height:calc(100svh - 77px);padding-top:clamp(3rem,6vw,5rem)}.section-block+.section-block{border-top:1px solid var(--border-soft)}.section-heading{max-width:760px;margin-bottom:clamp(2rem,4vw,3.2rem)}.section-heading[data-align=center]{text-align:center;margin-inline:auto}.section-heading[data-align=center] .eyebrow{justify-content:center}.section-heading h2{margin-bottom:0;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.03}.section-heading p{max-width:680px;margin-top:1.15rem;margin-bottom:0;font-size:1rem;line-height:1.75}.home-hero{border-bottom:1px solid var(--border-soft);align-items:center;min-height:calc(100svh - 73px);padding-block:clamp(3.75rem,7vw,6.5rem);display:flex;position:relative;overflow:hidden}.home-hero:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle,#5e43ff33 0%,#2198ff14 42%,#0000 70%);border-radius:999px;width:50rem;height:48rem;position:absolute;top:-12rem;right:-4rem}.home-hero__grid{align-items:center;gap:clamp(3.25rem,7vw,6.5rem);display:grid}.hero-copy{max-width:690px}.hero-copy h1{max-width:760px;margin-bottom:1.45rem;font-size:clamp(2.65rem,7vw,5.35rem);line-height:.99}.hero-copy h1 em{background:linear-gradient(95deg, var(--accent) 0%, #9f86ff 48%, #f3b9ff 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.hero-summary{max-width:650px;margin-bottom:0;font-size:clamp(1rem,1.7vw,1.13rem);line-height:1.75}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.85rem;display:flex}.code-profile{gap:1rem;min-width:0;display:grid;position:relative}.code-profile__glow{z-index:-1;filter:blur(18px);pointer-events:none;background:radial-gradient(circle at 35%,#44c7ff29,#0000 48%),radial-gradient(circle at 70% 45%,#8b5cf62e,#0000 62%);border-radius:999px;position:absolute;inset:5% -5% 0}.code-window{border:1px solid var(--border-strong);border-radius:var(--radius-medium);box-shadow:var(--shadow), var(--glow);background:linear-gradient(#ffffff05,#0000 22%),#080e20;position:relative;overflow:hidden}.code-window:after{border-radius:inherit;content:"";pointer-events:none;background:linear-gradient(125deg,#44c7ff0d,#0000 34%,#8b5cf609);position:absolute;inset:0}.code-window__bar{border-bottom:1px solid var(--border);color:#7f909c;min-height:47px;font-family:var(--font-mono);grid-template-columns:1fr auto 1fr;align-items:center;padding-inline:.95rem;font-size:.65rem;display:grid}.window-dots{justify-self:start;gap:.32rem;display:flex}.window-dots i{background:#ff6961;border-radius:999px;width:7px;height:7px}.window-dots i:nth-child(2){background:#f8c555}.window-dots i:nth-child(3){background:#62d78a}.code-window__status{color:#9da8b3a6;justify-self:end}.code-window__body{z-index:1;scrollbar-color:#44c7ff66 transparent;max-width:100%;position:relative;overflow-x:auto}.code-lines{counter-reset:line;color:#c3ced5;width:max-content;min-width:100%;font-family:var(--font-mono);margin:0;padding:1.25rem 1.2rem 1.3rem 3.55rem;font-size:clamp(.68rem,1.15vw,.77rem);line-height:1.7;list-style:none}.code-lines li{white-space:pre;counter-increment:line;min-height:1.7em;position:relative}.code-lines li:before{color:#40515d;content:counter(line, decimal-leading-zero);text-align:right;width:1.5rem;position:absolute;right:calc(100% + 1rem)}.syntax-keyword{color:#c7a7ff}.syntax-string{color:#7de3ff}.stack-card{border:1px solid var(--border-strong);width:100%;box-shadow:0 18px 48px #00000061, var(--glow);background:linear-gradient(145deg,#44c7ff0b,#8b5cf60b),#080e1ff7;border-radius:16px;padding:.9rem;position:relative}.stack-card>p{color:var(--accent);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.7rem;font-size:.62rem;font-weight:750}.stack-card ul{grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.stack-card li{border:1px solid var(--border);min-width:0;min-height:62px;color:var(--accent);background:#ffffff06;border-radius:10px;place-items:center;gap:.3rem;padding:.5rem .2rem;transition:transform .16s,border-color .16s,background-color .16s;display:grid}.stack-card li:hover{background:#ffffff0e;border-color:#ffffff3d;transform:translateY(-3px)}.stack-card li img{width:24px;height:24px;animation:3.8s ease-in-out infinite logo-float;animation-delay:var(--logo-delay);filter:drop-shadow(0 0 9px)}.stack-card li[data-tone=python]{color:#3776ab}.stack-card li[data-tone=gemini]{color:#a789dd}.stack-card li[data-tone=langchain]{color:#7fc8ff}.stack-card li[data-tone=huggingface]{color:#ffd21e}.stack-card li span{max-width:100%;color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.highlight-strip{border-bottom:1px solid var(--border-soft)}.highlight-strip__grid{display:grid}.highlight-strip__item{border-bottom:1px solid var(--border-soft);align-content:start;padding:1.45rem 0;display:grid}.highlight-strip__item:last-child{border-bottom:0}.highlight-strip__item strong{color:var(--accent);font-family:var(--font-mono);font-size:.9rem;font-weight:600;line-height:1.45}.highlight-strip__item:nth-child(2) strong{color:#a68bff}.highlight-strip__item:nth-child(3) strong{color:var(--accent-warm)}.highlight-strip__item:nth-child(4) strong{color:#ff91ca}.highlight-strip__item span{color:var(--foreground);margin-top:.45rem;font-size:.82rem;font-weight:700}.highlight-strip__item p{margin:.25rem 0 0;font-size:.72rem;line-height:1.55}.project-grid{gap:1.25rem;display:grid}.project-card{border:1px solid var(--border);border-radius:var(--radius-medium);background:#0b1118c7;transition:border-color .16s,box-shadow .16s;overflow:hidden;box-shadow:0 18px 64px #0000002e}.project-card:hover{border-color:var(--border-strong);box-shadow:0 22px 72px #0000003d,0 0 40px #6258ff17}.project-visual{border-bottom:1px solid var(--border);background:radial-gradient(circle at 74% 18%,#8b5cf621,#0000 32%),#091119;min-height:270px;padding:1rem 1rem 0;position:relative;overflow:hidden}.project-visual:before{content:"";background-image:linear-gradient(#44c7ff07 1px,#0000 1px),linear-gradient(90deg,#44c7ff07 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 82%);mask-image:radial-gradient(circle,#000,#0000 82%)}.project-visual--artwork{background:#050300;padding:0}.project-visual--artwork:before{display:none}.project-visual__artwork{object-fit:cover;object-position:center}.project-visual__toolbar{z-index:2;border:1px solid var(--border);background:#0e1821;border-bottom:0;border-radius:10px 10px 0 0;align-items:center;gap:.38rem;height:34px;padding-inline:.7rem;display:flex;position:relative}.project-visual__toolbar>span:nth-child(2){flex:1}.project-visual__brand{width:19px;height:19px;color:var(--accent);font-family:var(--font-mono);background:#44c7ff1f;border-radius:6px;place-items:center;font-size:.46rem;font-weight:800;display:grid}.project-visual__toolbar i{background:#3c4e59;border-radius:999px;width:5px;height:5px}.launchmind-ui,.vivid-ui{z-index:1;border:1px solid var(--border);background:#0a1219;height:220px;display:grid;position:relative;overflow:hidden}.launchmind-ui{grid-template-columns:42px 1fr}.launchmind-ui__sidebar{border-right:1px solid var(--border);align-content:start;justify-items:center;gap:.85rem;padding-top:1.1rem;display:grid}.launchmind-ui__sidebar span{background:#33444f;border-radius:99px;width:14px;height:3px}.launchmind-ui__sidebar span.is-active{border:1px solid var(--border-strong);background:#8b5cf629;height:14px}.launchmind-ui__workspace{padding:1.15rem}.ui-kicker{color:var(--accent);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.45rem}.ui-title{background:#dbe6e8;border-radius:3px;width:47%;height:12px;margin-top:.55rem}.ui-copy{background:#40515b;border-radius:3px;width:69%;height:5px;margin-top:.45rem}.ui-prompt{border:1px solid var(--border-strong);color:#91a0aa;background:#44c7ff0b;border-radius:8px;justify-content:space-between;align-items:center;min-height:38px;margin-top:1rem;padding-inline:.75rem;font-size:.48rem;display:flex}.ui-prompt i{background:var(--accent);width:22px;height:22px;color:var(--accent-ink);border-radius:6px;place-items:center;font-style:normal;display:grid}.ui-grid{grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:.8rem;display:grid}.ui-grid>div{border:1px solid var(--border);background:#0d1720;border-radius:7px;min-height:66px;padding:.6rem}.ui-grid b{color:var(--accent);font-family:var(--font-mono);font-size:.45rem}.ui-grid span{background:#344650;border-radius:3px;width:72%;height:4px;margin-top:.45rem;display:block}.ui-grid span:last-child{width:48%}.vivid-ui{grid-template-columns:84px 1fr}.vivid-ui__nav{border-right:1px solid var(--border);align-content:start;gap:.75rem;padding:.85rem .65rem;display:grid}.vivid-ui__nav strong{color:#dce6e7;font-size:.52rem}.vivid-ui__nav span{background:#32444e;border-radius:3px;width:80%;height:4px}.vivid-ui__nav span.is-active{width:100%;height:18px;box-shadow:inset 2px 0 var(--accent);background:#8b5cf624}.vivid-ui__nav i{background:#243641;border-radius:999px;width:20px;height:20px;margin-top:3rem}.vivid-ui__workspace{padding:1rem}.vivid-ui__heading{justify-content:space-between;align-items:center;display:flex}.vivid-ui__heading span{color:#8d9aa4;font-size:.46rem;display:block}.vivid-ui__heading b{background:#dce6e7;border-radius:3px;width:76px;height:8px;margin-top:.35rem;display:block}.vivid-ui__heading>i{background:var(--accent);color:var(--accent-ink);border-radius:5px;padding:.4rem .5rem;font-size:.42rem;font-style:normal;font-weight:700}.vivid-ui__metrics{grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:.85rem;display:grid}.vivid-ui__metrics div{border:1px solid var(--border);background:#0e1821;border-radius:6px;padding:.55rem;display:grid}.vivid-ui__metrics span{color:#697983;font-size:.4rem}.vivid-ui__metrics b{color:#dce6e7;font-family:var(--font-mono);font-size:.72rem}.vivid-ui__table{gap:.42rem;margin-top:.75rem;display:grid}.vivid-ui__table span{border:1px solid var(--border-soft);background:linear-gradient(90deg,#263842 0 8%,#0000 8% 13%,#2e414b 13% 46%,#0000 46% 55%,#263842 55% 71%,#0000 71%);border-radius:4px;height:19px}.project-card__body{padding:clamp(1.25rem,3vw,1.8rem)}.project-card__meta{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;font-size:.58rem;display:flex}.project-card__meta span:last-child{color:var(--accent);text-align:right}.project-card h3{margin:1.3rem 0 .75rem;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.08}.project-card__body>p{min-height:5.4em;margin-bottom:1.15rem;font-size:.9rem;line-height:1.75}.tag-list{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--border);color:var(--muted-strong);background:linear-gradient(110deg,#44c7ff09,#8b5cf609);border-radius:999px;padding:.38rem .62rem;font-size:.64rem;line-height:1.4}.project-card__actions{border-top:1px solid var(--border-soft);flex-wrap:wrap;gap:.7rem 1.2rem;margin-top:1.4rem;padding-top:1.2rem;display:flex}.project-card__actions a{min-height:42px;color:var(--foreground);align-items:center;gap:.45rem;font-size:.8rem;font-weight:750;transition:color .15s;display:inline-flex}.project-card__actions a:first-child{color:var(--accent-warm)}.project-card__actions a:hover{color:#fff0a0}.capabilities-grid{gap:1rem;display:grid}.capability-card{border:1px solid var(--border);border-radius:var(--radius-medium);background:linear-gradient(145deg,#44c7ff09,#0000 42%),#0a1022c2;min-height:260px;padding:1.5rem;transition:border-color .15s,background-color .15s}.capability-card:hover{border-color:var(--border-strong);background:linear-gradient(145deg,#44c7ff12,#8b5cf60f),#0e162ceb}.capability-card__top{justify-content:space-between;align-items:center;display:flex}.capability-card__top>span,.contact-card__icon{border:1px solid var(--border-strong);width:44px;height:44px;color:var(--accent);background:linear-gradient(145deg,#44c7ff1f,#8b5cf61f);border-radius:12px;place-items:center;display:grid}.capability-card__top small{color:#4b5c66;font-family:var(--font-mono);font-size:.68rem}.capability-card h3{margin:2rem 0 .8rem;font-size:1.35rem}.capability-card p{margin-bottom:0;font-size:.9rem;line-height:1.75}.detail-panel{border:1px solid var(--border);border-radius:var(--radius-medium);background:var(--surface);padding:1.35rem;box-shadow:0 18px 60px #0003}.detail-panel h2{margin-bottom:1.25rem;font-size:1.2rem}.detail-list{margin:0}.detail-list div{border-top:1px solid var(--border-soft);gap:.28rem;padding-block:.85rem;display:grid}.detail-list div:first-child{border-top:0;padding-top:0}.detail-list div:last-child{padding-bottom:0}.detail-list dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.6rem}.detail-list dd{color:var(--muted-strong);margin:0;font-size:.82rem;line-height:1.6}.about-profile{min-height:calc(100svh - 73px);padding-block:clamp(3.5rem,7vw,7rem);position:relative;overflow:hidden}.about-profile:before{z-index:-1;content:"";background:radial-gradient(circle,#44c7ff21,#0000 70%);border-radius:999px;width:44rem;height:44rem;position:absolute;top:5%;left:-18rem}.about-profile__grid{align-items:center;gap:clamp(2.5rem,7vw,6rem);display:grid}.portrait-frame{isolation:isolate;width:min(100%,520px);margin-inline:auto;position:relative}.portrait-frame__glow{z-index:-1;filter:blur(30px);background:radial-gradient(circle at 25% 25%,#44c7ff40,#0000 46%),radial-gradient(circle at 75% 60%,#8b5cf64d,#0000 58%);border-radius:38%;position:absolute;inset:8% -10% -6%}.portrait-frame__image{aspect-ratio:3/4;object-fit:cover;border:1px solid #7eb4ff57;border-radius:26px;width:100%;height:auto;box-shadow:0 32px 90px #0000006b,0 0 0 1px #8b5cf61f,0 0 60px #44c7ff1a}.portrait-frame__caption{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:#050715cc;border:1px solid #ffffff2e;border-radius:999px;padding:.48rem .7rem;font-size:.62rem;position:absolute;bottom:1rem;right:1rem}.about-profile__content{max-width:650px}.about-profile__content h1{margin-bottom:1.35rem;font-size:clamp(2.5rem,5.8vw,5.2rem);line-height:.98}.about-profile__content>p:not(.eyebrow){max-width:610px;margin-bottom:0;font-size:clamp(1rem,1.7vw,1.12rem);line-height:1.8}.about-links{gap:.75rem;margin-top:2rem;display:grid}.about-links>a,.copy-email{border:1px solid var(--border);width:100%;min-width:0;min-height:76px;color:var(--accent);text-align:left;background:linear-gradient(120deg,#44c7ff0e,#8b5cf60a),#0a1022c7;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.9rem 1rem;transition:transform .16s,border-color .16s,background-color .16s;display:grid}.about-links>a:hover,.copy-email:hover{background:linear-gradient(120deg,#44c7ff1a,#8b5cf617),#0a1022f0;border-color:#8b5cf694;transform:translateY(-2px)}.about-links>a>span,.copy-email>span:first-child{min-width:0;display:grid}.about-links small,.copy-email small{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem}.about-links strong,.copy-email strong{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.copy-email{cursor:pointer}.copy-email__action{min-width:72px;color:var(--accent-warm);justify-content:flex-end;align-items:center;gap:.35rem;font-size:.72rem;font-weight:750;display:inline-flex}.timeline{border-top:1px solid var(--border)}.timeline-item{border-bottom:1px solid var(--border);padding-block:clamp(2rem,5vw,3.5rem);display:grid}.timeline-item__rail{display:none}.timeline-item__period{align-content:start;gap:.4rem;margin-bottom:1.2rem;display:grid}.timeline-item__period small{color:var(--accent);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:750}.timeline-item__period strong{color:var(--muted-strong);font-family:var(--font-mono);font-size:.72rem;font-weight:600}.timeline-item__body{max-width:760px}.timeline-item__body h2{margin-bottom:.18rem;font-size:clamp(1.45rem,3vw,2rem)}.timeline-item__organisation{color:var(--foreground);margin-bottom:1rem;font-size:.86rem;font-weight:700}.timeline-item__body>p:not(.timeline-item__organisation){margin-bottom:1.1rem;line-height:1.75}.check-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.check-list li{color:var(--muted-strong);padding-left:1.15rem;font-size:.88rem;line-height:1.65;position:relative}.check-list li:before{background:var(--accent);content:"";border-radius:999px;width:5px;height:5px;position:absolute;top:.68rem;left:0}.skills-section{background:#030114;min-height:calc(100svh - 77px);padding-block:2.9rem 6rem;position:relative;overflow:hidden}.skills-section:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 12% 18%,#27b0ff14,#0000 26rem),radial-gradient(circle at 86% 16%,#ff9d1c14,#0000 28rem);width:min(90rem,94vw);height:48rem;position:absolute;top:-3rem;left:50%;transform:translate(-50%)}.container.skills-container{width:min(1720px,100% - 2rem)}.skills-explorer,.skills-explorer__layout{min-width:0}.skill-picker{gap:1.7rem;display:grid}.skill-tile{--skill-color:var(--accent);--skill-glow:#44c7ff5c;cursor:pointer;min-width:0;min-height:438px;color:var(--foreground);text-align:left;opacity:0;animation:.42s cubic-bezier(.22,1,.36,1) forwards skillTileIn;animation-delay:calc(var(--skill-index) * 34ms);background:#171a35;border:2px solid #ffad18e0;border-radius:19px;flex-direction:column;align-items:stretch;padding:2.5rem 1.7rem 2.25rem;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff09,0 12px 22px #0000003d,0 10px 24px #ff571f21}.skill-tile:before{content:"";pointer-events:none;background:#ff6a20;height:3px;position:absolute;bottom:-1px;left:18%;right:18%;box-shadow:0 5px 24px 8px #ff521f33}.skill-tile:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#fff1 50%,#0000 65%);transition:transform .52s;position:absolute;inset:0;transform:translate(-105%)}.skill-tile:hover{border-color:#ffc23d;transform:translateY(-3px);box-shadow:0 18px 42px #0000004d,0 8px 30px #ff521f33}.skill-tile:hover:after{transform:translate(105%)}.skill-tile[data-active=true]{border-color:#ffc23d}.skill-tile__top{justify-content:space-between;align-items:flex-start;gap:1rem;min-height:138px;display:flex}.skill-tile__logo,.skill-detail__logo{border:1px solid color-mix(in srgb, var(--skill-color) 55%, transparent);background:radial-gradient(circle at 28% 20%, #ffffff29, transparent 48%), color-mix(in srgb, var(--skill-color) 14%, #090f20);box-shadow:inset 0 1px 0 #ffffff14, 0 0 25px var(--skill-glow);flex:none;place-items:center;display:grid;position:relative}.skill-tile__logo{width:136px;height:136px;box-shadow:inset 0 2px 0 #ffffff24, inset 0 -10px 22px #0003, 0 12px 20px #0000003d, 0 0 24px var(--skill-glow);border:0;border-radius:30px;transform:perspective(240px)rotateX(2deg)rotateY(-4deg)}.skill-tile__logo img,.skill-detail__logo img{object-fit:contain;width:60%;height:60%;filter:drop-shadow(0 0 9px var(--skill-glow))}.skill-tile[data-skill-id=openai] img,.skill-detail[data-skill-id=openai] img{filter:brightness(0) invert(1) drop-shadow(0 0 9px var(--skill-glow))}.skill-tile:hover .skill-tile__logo{animation:3.4s ease-in-out infinite activeSkillFloat}.skill-tile__badge{border:1px solid color-mix(in srgb, var(--skill-color) 36%, transparent);background:color-mix(in srgb, var(--skill-color) 10%, #121631);max-width:55%;color:var(--muted-strong);text-align:center;border-radius:999px;align-items:center;padding:.48rem .85rem;font-size:.78rem;line-height:1.25;display:inline-flex}.skill-tile__copy{flex-direction:column;min-width:0;margin-top:1.65rem;display:flex}.skill-tile__copy strong{letter-spacing:-.035em;font-size:clamp(1.65rem,2vw,2rem);line-height:1.15}.skill-tile__copy>span{color:#c9cee3;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:1rem;font-size:1.2rem;line-height:1.5;display:-webkit-box;overflow:hidden}.skill-tile__action{color:#49baff;align-items:center;gap:.55rem;width:fit-content;margin-top:auto;padding-top:1.25rem;font-size:1.16rem;font-weight:750;transition:color .16s,gap .16s;display:inline-flex}.skill-tile:hover .skill-tile__action{color:#8dd7ff;gap:.78rem}.skill-detail-backdrop{z-index:149;visibility:hidden;cursor:default;opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#02040ec2;border:0;transition:opacity .18s,visibility .18s;display:block;position:fixed;inset:0}.skill-detail-backdrop[data-open=true]{visibility:visible;opacity:1;pointer-events:auto}.skill-detail{--skill-color:var(--accent);--skill-glow:#44c7ff5c;z-index:150;visibility:hidden;border:1px solid color-mix(in srgb, var(--skill-color) 48%, transparent);background:radial-gradient(circle at 84% 8%, var(--skill-glow), transparent 18rem), linear-gradient(150deg, #ffffff09, transparent 42%), #080e1ef5;width:min(760px,100% - 2rem);max-height:min(88svh,760px);box-shadow:0 22px 80px #0000004d, 0 0 44px color-mix(in srgb, var(--skill-glow) 56%, transparent);opacity:0;pointer-events:none;border-radius:24px;padding:clamp(1.3rem,3vw,2rem);transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .18s,visibility .22s;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-46%)scale(.97)}.skill-detail[data-open=true]{visibility:visible;opacity:1;pointer-events:auto;overflow-y:auto;transform:translate(-50%,-50%)scale(1)}.skill-detail__close{z-index:2;cursor:pointer;border:1px solid var(--border);width:38px;height:38px;color:var(--muted-strong);background:#050813d1;border-radius:999px;place-items:center;transition:border-color .15s,color .15s;display:grid;position:absolute;top:1rem;right:1rem}.skill-detail__close:hover{border-color:color-mix(in srgb, var(--skill-color) 52%, transparent);color:var(--skill-color)}.skill-detail:before{background:linear-gradient(90deg, var(--skill-color), transparent);width:6rem;height:2px;box-shadow:0 0 18px var(--skill-color);content:"";position:absolute;top:0;left:1.5rem}.skill-detail__top{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;padding-right:3rem;display:grid}.skill-detail__logo{border-radius:21px;width:76px;height:76px}.skill-detail__top p{color:var(--skill-color);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;margin-bottom:.08rem;font-size:.64rem;font-weight:750}.skill-detail__top h2{margin-bottom:0;font-size:clamp(1.65rem,3vw,2.35rem)}.skill-detail__status{border:1px solid color-mix(in srgb, var(--skill-color) 32%, transparent);background:color-mix(in srgb, var(--skill-color) 8%, transparent);width:fit-content;color:var(--muted-strong);border-radius:999px;grid-column:1/-1;align-items:center;gap:.5rem;padding:.4rem .65rem;font-size:.68rem;display:inline-flex}.skill-detail__status>span{background:var(--skill-color);width:6px;height:6px;box-shadow:0 0 10px var(--skill-color);border-radius:999px}.skill-detail__lead{color:var(--foreground);margin:1.65rem 0;font-size:clamp(1.05rem,2vw,1.27rem);font-weight:580;line-height:1.55}.skill-detail__section{border-top:1px solid var(--border-soft);padding-block:1.1rem}.skill-detail__section>span{color:var(--skill-color);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.38rem;font-size:.62rem;font-weight:750;display:block}.skill-detail__section p{margin-bottom:0;font-size:.82rem;line-height:1.72}.skill-detail__topics{gap:.55rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.skill-detail__topics li{color:var(--muted-strong);align-items:center;gap:.55rem;font-size:.76rem;display:flex}.skill-detail__topics svg{color:var(--skill-color);filter:drop-shadow(0 0 6px var(--skill-glow));flex:none}@keyframes skillTileIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes activeSkillFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.contact-layout{align-items:start;gap:1.5rem;display:grid}.contact-list{gap:.7rem;display:grid}.contact-card{border:1px solid var(--border);background:#0b1118b8;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;min-width:0;min-height:88px;padding:.9rem;transition:transform .15s,border-color .15s,background-color .15s;display:grid}.contact-card:hover{border-color:var(--border-strong);background:var(--surface);transform:translateY(-2px)}.contact-card__copy{gap:.18rem;min-width:0;display:grid}.contact-card__copy small{color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.58rem}.contact-card__copy strong{color:var(--foreground);text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.contact-card__arrow{color:var(--accent)}.contact-aside{border:1px solid var(--border-strong);border-radius:var(--radius-medium);background:linear-gradient(150deg, #8b5cf614, transparent 46%), var(--surface);box-shadow:var(--glow);padding:clamp(1.3rem,3vw,2rem)}.contact-aside h2{margin-bottom:.8rem;font-size:clamp(1.65rem,3vw,2.35rem)}.contact-aside>p{margin-bottom:1.4rem;font-size:.9rem;line-height:1.75}.contact-aside .check-list{border-top:1px solid var(--border);padding-top:1.2rem}.case-hero{border-bottom:1px solid var(--border-soft);padding-block:clamp(4rem,8vw,7rem);position:relative}.case-hero:after{z-index:-1;content:"";background:radial-gradient(circle at 35% 45%,#44c7ff21,#0000 48%),radial-gradient(circle at 68%,#8b5cf624,#0000 66%);border-radius:999px;width:42rem;height:42rem;position:absolute;top:-16rem;right:6%}.case-hero__top{max-width:930px}.case-hero h1{margin-bottom:1.2rem;font-size:clamp(2.7rem,7vw,5.6rem);line-height:.98}.case-hero__summary{max-width:760px;margin-bottom:1.5rem;font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.75}.case-hero__visual{max-width:1000px;margin-top:clamp(2.5rem,6vw,4.5rem)}.case-hero__visual .project-visual{border:1px solid var(--border-strong);border-radius:var(--radius-medium);min-height:min(540px,56vw);box-shadow:var(--shadow), var(--glow);padding:clamp(.8rem,2vw,1.5rem) clamp(.8rem,2vw,1.5rem) 0}.case-hero__visual .project-visual--artwork{padding:0}.case-hero__visual .launchmind-ui,.case-hero__visual .vivid-ui{height:calc(min(540px,56vw) - 54px)}.case-hero__visual .project-visual__toolbar{height:42px}.case-layout{align-items:start;gap:clamp(2.5rem,6vw,5rem);display:grid}.case-content{min-width:0}.case-section+.case-section{border-top:1px solid var(--border);margin-top:clamp(3rem,6vw,5rem);padding-top:clamp(3rem,6vw,5rem)}.case-section h2{margin-bottom:1.1rem;font-size:clamp(1.7rem,3.4vw,2.5rem)}.case-section>p,.case-section__copy p{font-size:.97rem;line-height:1.8}.case-section__copy p:last-child{margin-bottom:0}.case-contribution{counter-reset:contribution;gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.case-contribution li{border-left:1px solid var(--border-strong);color:var(--muted-strong);counter-increment:contribution;background:linear-gradient(90deg,#44c7ff0b,#0000);padding:1rem 1rem 1rem 3.4rem;line-height:1.75;position:relative}.case-contribution li:before{color:var(--accent);content:"0" counter(contribution);font-family:var(--font-mono);font-size:.64rem;position:absolute;top:1.05rem;left:1rem}.flow-grid{gap:.8rem;display:grid}.flow-card{border:1px solid var(--border);background:#0b1118b8;border-radius:14px;padding:1.15rem}.flow-card h3{margin-bottom:.45rem;font-size:1rem}.flow-card p{margin-bottom:0;font-size:.82rem;line-height:1.7}.detail-panel{gap:1rem;display:grid}.detail-panel__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.detail-panel__header h2{margin:0}.status-chip{border:1px solid var(--border-strong);color:var(--accent);font-family:var(--font-mono);white-space:nowrap;border-radius:999px;align-items:center;gap:.42rem;padding:.35rem .55rem;font-size:.56rem;display:inline-flex}.status-chip:before{background:var(--accent);content:"";border-radius:999px;width:5px;height:5px}.detail-panel__links{gap:.65rem;padding-top:.6rem;display:grid}.detail-panel__links .button{width:100%}.not-found{place-items:center;min-height:66vh;padding-block:5rem;display:grid}.not-found__panel{border:1px solid var(--border-strong);border-radius:var(--radius-large);background:var(--surface);max-width:740px;box-shadow:var(--shadow), var(--glow);padding:clamp(1.5rem,6vw,4rem)}.not-found__panel h1{margin-bottom:1rem;font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.02}.not-found__actions{flex-wrap:wrap;gap:.7rem;margin-top:2rem;display:flex}.site-footer{border-top:1px solid var(--border-soft);background:#04080b85;padding-block:2.2rem 1.5rem}.site-footer__top{flex-direction:column;gap:1.5rem;display:flex}.site-footer__nav{flex-wrap:wrap;gap:.65rem 1.2rem;display:flex}.site-footer__nav a,.site-footer__socials a{min-height:40px;color:var(--muted-strong);align-items:center;gap:.28rem;font-size:.75rem;transition:color .15s;display:inline-flex}.site-footer__nav a:hover,.site-footer__socials a:hover{color:var(--accent)}.site-footer__bottom{border-top:1px solid var(--border-soft);flex-direction:column;gap:1rem;margin-top:1.6rem;padding-top:1.35rem;display:flex}.site-footer__bottom p{margin:0;font-size:.72rem}.site-footer__socials{flex-wrap:wrap;gap:.9rem;display:flex}@keyframes logo-float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.04)}}@media (min-width:520px){.highlight-strip__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.highlight-strip__item{padding-inline:1.2rem}.highlight-strip__item:nth-child(odd){border-right:1px solid var(--border-soft);padding-left:0}.highlight-strip__item:nth-last-child(-n+2){border-bottom:0}.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:899px){.project-card .project-visual--artwork{aspect-ratio:1672/941;min-height:0}}@media (max-width:719px){.skill-detail-backdrop{z-index:149;visibility:hidden;cursor:default;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#02050eb8;border:0;transition:opacity .18s,visibility .18s;display:block;position:fixed;inset:0}.skill-detail-backdrop[data-open=true]{visibility:visible;opacity:1;pointer-events:auto}.skill-detail{z-index:150;top:auto;right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));left:max(.75rem, env(safe-area-inset-left));visibility:hidden;opacity:0;pointer-events:none;width:auto;max-height:min(86svh,720px);transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .18s,visibility .24s;animation:none;position:fixed;overflow-y:auto;transform:translateY(calc(100% + 2rem))scale(.98)}.skill-detail[data-open=true]{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.skill-detail__close{z-index:2;cursor:pointer;border:1px solid var(--border);width:36px;height:36px;color:var(--muted-strong);background:#050813b8;border-radius:999px;place-items:center;display:grid;position:absolute;top:1rem;right:1rem}.skill-detail__top{padding-right:2.7rem}}@media (min-width:720px){.skill-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.container{width:min(var(--container), calc(100% - 3rem))}.header-cv{margin-left:auto;display:inline-flex}.menu-button{margin-left:0}.highlight-strip__item{padding-block:1.7rem}.capabilities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-item{grid-template-columns:160px minmax(0,1fr);gap:2rem}.timeline-item__period{margin-bottom:0}.contact-card{padding:1rem 1.15rem}.site-footer__top,.site-footer__bottom{flex-direction:row;justify-content:space-between;align-items:center}.site-footer__nav{justify-content:flex-end}}@media (min-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capabilities-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.about-profile__grid{grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr)}.contact-layout{grid-template-columns:minmax(0,1.12fr) minmax(300px,.72fr)}.case-layout{grid-template-columns:minmax(0,1fr) 340px}.detail-panel{position:sticky;top:104px}}@media (min-width:1040px){.skill-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.site-header__inner{min-height:76px}.desktop-nav{display:flex}.header-cv{margin-left:0}.menu-button,.mobile-nav-shell{display:none!important}.home-hero{min-height:calc(100svh - 77px)}.home-hero__grid{grid-template-columns:minmax(0,1.03fr) minmax(450px,.97fr)}.hero-copy h1{font-size:clamp(3.8rem,5.9vw,5.35rem)}.highlight-strip__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.highlight-strip__item,.highlight-strip__item:nth-child(odd){border-right:1px solid var(--border-soft);border-bottom:0;padding:1.9rem 1.45rem}.highlight-strip__item:first-child{padding-left:0}.highlight-strip__item:last-child{border-right:0;padding-right:0}.timeline-item{grid-template-columns:56px 185px minmax(0,1fr);gap:2rem}.timeline-item__rail{border-right:1px solid var(--border);place-items:start center;min-height:100%;display:grid}.timeline-item__rail span{border:1px solid var(--border-strong);background:var(--background);width:34px;height:34px;color:var(--accent);font-family:var(--font-mono);border-radius:999px;place-items:center;font-size:.62rem;display:grid;transform:translate(17px)}}@media (min-width:1280px){.container{width:min(var(--container), calc(100% - 4rem))}.container.skills-container{width:min(1720px,100% - 5rem)}.skill-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}.project-visual{min-height:300px}.launchmind-ui,.vivid-ui{height:250px}}@media (max-width:519px){.button{width:100%}.header-cv{width:auto}.hero-actions{display:grid}.stack-card ul{grid-template-columns:repeat(2,minmax(0,1fr))}.code-window__status{display:none}.code-window__bar{grid-template-columns:1fr auto 1fr}.project-card__body>p{min-height:0}.project-card__actions{display:grid}.project-card__actions a{width:100%}.not-found__actions{display:grid}.contact-card__icon{width:40px;height:40px}.contact-card__copy strong{font-size:.74rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
