:root{--color-bg: #07100b;--color-surface: rgba(0, 230, 118, .03);--color-border: rgba(0, 230, 118, .14);--color-border-strong: rgba(0, 230, 118, .4);--color-accent: #00e676;--color-accent-soft: rgba(0, 230, 118, .1);--color-neon: #22d3ee;--color-neon-edge: rgba(34, 211, 238, .55);--cut: 14px;--color-text-primary: #eef3f0;--color-text-secondary: #a9b5ad;--color-text-muted: #7f8d84;--radius: 8px;--font: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.75rem;--text-5xl: 4rem;--sp-xs: .5rem;--sp-sm: 1rem;--sp-md: 1.5rem;--sp-lg: 2rem;--sp-xl: 3rem;--sp-2xl: 5rem;--t-fast: .2s ease;--t-base: .3s ease;--t-slow: .6s ease;--container: 1280px;--container-wide: 1720px;--nav-h: 64px}@property --edge{syntax: "<color>"; inherits: true; initial-value: rgba(0,230,118,.14);}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}body{font-family:var(--font);color:var(--color-text-primary);background-color:var(--color-bg);min-height:100vh;overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}ul{list-style:none}a{color:inherit}button{font-family:var(--font)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}.container{max-width:var(--container);margin:0 auto;padding:0 var(--sp-lg)}.section{position:relative;z-index:1;padding:var(--sp-xl) 0}.section__title{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.015em;margin-bottom:var(--sp-lg);display:inline-flex;align-items:center;gap:.5em;color:var(--color-text-primary)}main{counter-reset:section}.section:not(.hero){counter-increment:section}.section__title:before{content:counter(section,decimal-leading-zero) " //";font-family:var(--font-mono);color:var(--color-accent);font-size:.75em;font-weight:400;letter-spacing:.02em}.glass{--edge: var(--color-border);position:relative;background:var(--color-surface);border:1px solid var(--edge)}.glass,.btn{clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}.glass:after,.btn--ghost:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;pointer-events:none;background:linear-gradient(to top right,transparent calc(50% - 1.2px),var(--edge) calc(50% - 1.2px),var(--edge) 50%,transparent 50%) top right / var(--cut) var(--cut) no-repeat,linear-gradient(to top right,transparent 50%,var(--edge) 50%,var(--edge) calc(50% + 1.2px),transparent calc(50% + 1.2px)) bottom left / var(--cut) var(--cut) no-repeat}[data-animate]{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}[data-animate].is-visible{opacity:1;transform:translateY(0)}[data-animate]:not(.is-settled){transition:opacity .55s ease,transform .55s ease}.projects__grid .project-card:nth-child(2):not(.is-settled){transition-delay:90ms}.projects__grid .project-card:nth-child(3):not(.is-settled){transition-delay:.18s}.projects__grid .project-card:nth-child(4):not(.is-settled){transition-delay:.27s}.projects__grid .project-card:nth-child(5):not(.is-settled){transition-delay:.36s}.skills__grid .skill-group:nth-child(2):not(.is-settled){transition-delay:70ms}.skills__grid .skill-group:nth-child(3):not(.is-settled){transition-delay:.14s}.skills__grid .skill-group:nth-child(4):not(.is-settled){transition-delay:.21s}.highlights__grid .highlight-card:nth-child(2):not(.is-settled){transition-delay:90ms}.highlights__grid .highlight-card:nth-child(3):not(.is-settled){transition-delay:.18s}.highlights__grid .highlight-card:nth-child(4):not(.is-settled){transition-delay:.27s}.highlights__grid .highlight-card:nth-child(5):not(.is-settled){transition-delay:.36s}.timeline__item:nth-child(2):not(.is-settled){transition-delay:90ms}.timeline__item:nth-child(3):not(.is-settled){transition-delay:.18s}@media (prefers-reduced-motion: reduce){[data-animate]{opacity:1;transform:none}[data-animate],[data-animate]:not(.is-settled){transition:none}.hero__eyebrow:after{animation:none}}.btn{--cut: 8px;position:relative;display:inline-flex;align-items:center;gap:var(--sp-xs);padding:.7rem 1.6rem;font-size:var(--text-sm);font-weight:600;text-decoration:none;cursor:pointer;border:none;transition:background var(--t-fast),--edge var(--t-fast);white-space:nowrap}.btn:focus-visible{outline-offset:-5px;border-radius:0}.btn--primary{background:var(--color-accent);color:var(--color-bg)}.btn--primary:hover{background:#4df0a0}.btn--primary:focus-visible{outline-color:var(--color-bg)}.btn--ghost{--edge: var(--color-border-strong);background:transparent;color:var(--color-text-primary);border:1px solid var(--edge)}.btn--ghost:hover{--edge: var(--color-neon-edge);background:#22d3ee0f}.btn--sm{padding:.4rem 1rem;font-size:var(--text-xs)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);transition:background var(--t-base)}.nav--scrolled{background:var(--color-bg);border-bottom:1px solid var(--color-border)}.nav__inner{max-width:var(--container-wide);margin:0 auto;padding:0 var(--sp-lg);height:100%;display:flex;align-items:center;justify-content:space-between}.nav__logo{font-family:var(--font-mono);font-size:var(--text-base);font-weight:700;color:var(--color-text-primary);text-decoration:none;letter-spacing:.05em;transition:color var(--t-fast)}.nav__logo:hover{color:var(--color-accent)}.nav__links{display:flex;gap:var(--sp-lg)}.nav__links a{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color var(--t-fast);position:relative;padding-bottom:3px}.nav__links a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--color-accent);transition:width var(--t-fast)}.nav__links a:hover,.nav__links a.active{color:var(--color-text-primary)}.nav__links a:hover:after,.nav__links a.active:after{width:100%}.nav__links a:hover:after{background:var(--color-neon)}.nav__hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;z-index:110}.nav__hamburger span{display:block;width:24px;height:2px;background:var(--color-text-primary);border-radius:1px;transition:transform var(--t-fast),opacity var(--t-fast)}.nav__hamburger[aria-expanded=true] span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav__hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.nav__hamburger[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero{position:relative;overflow:hidden;padding-top:calc(var(--nav-h) + var(--sp-md));padding-bottom:12px}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(0,230,118,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,230,118,.055) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 35%,#000 25%,transparent 80%);mask-image:radial-gradient(ellipse 75% 70% at 50% 35%,#000 25%,transparent 80%)}.hero__layout{position:relative;z-index:1;width:100%;max-width:var(--container-wide);margin:0 auto;padding:0 var(--sp-lg);display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:var(--sp-xl);align-items:center}.hero__content{min-width:0}.hero__demo{min-width:0;width:100%;justify-self:end;max-width:calc((100dvh - var(--nav-h) - var(--sp-md) - var(--sp-sm) - 154px) * 1280 / 672);position:relative}.hero__demo:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;box-shadow:0 0 90px #00e67624;pointer-events:none}.hero__demo:after{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;pointer-events:none;--b: var(--color-accent);background:linear-gradient(var(--b),var(--b)) top left / 20px 2px no-repeat,linear-gradient(var(--b),var(--b)) top left / 2px 20px no-repeat,linear-gradient(var(--b),var(--b)) bottom right / 20px 2px no-repeat,linear-gradient(var(--b),var(--b)) bottom right / 2px 20px no-repeat}.demo{background:#0a1510}.demo__tabs{display:flex;gap:var(--sp-xs);padding:var(--sp-xs);border-bottom:1px solid var(--color-border)}.demo__tab{flex:1;padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:2px;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:color var(--t-fast),background var(--t-fast),border-color var(--t-fast)}.demo__tab:hover{color:var(--color-text-primary)}.demo__tab:focus-visible{outline-offset:-2px}.demo__tab[aria-selected=true]{color:var(--color-accent);background:var(--color-accent-soft)}.demo__screen{position:relative;aspect-ratio:1280 / 672;background:#040a07}.demo__screen video{display:block;width:100%;height:100%;object-fit:cover}.demo__screen video[hidden],.demo__placeholder[hidden]{display:none}.demo__sound{position:absolute;top:var(--sp-xs);right:var(--sp-xs);padding:.4rem .7rem;background:#040a07e0;border:1px solid var(--color-accent);border-radius:2px;color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.demo__sound:hover{background:var(--color-accent);color:#04100a}.demo__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-xs);padding:var(--sp-md);text-align:center}.demo__placeholder-title{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:600}.demo__placeholder-note{color:var(--color-text-secondary);font-size:var(--text-sm)}.demo__pipeline{list-style:none;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--sp-xs);padding:var(--sp-sm);border-top:1px solid var(--color-border)}.demo__stage{padding:.4rem .3rem;border:1px solid var(--color-border);border-radius:2px;color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.3;text-align:center;transition:color var(--t-fast),background var(--t-fast),border-color var(--t-fast)}.demo__stage.is-active{color:var(--color-accent);background:var(--color-accent-soft);border-color:var(--color-accent)}.demo__desc{padding:0 var(--sp-sm) var(--sp-sm);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.6}.hero__eyebrow{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary);margin-bottom:var(--sp-sm);display:inline-flex;align-items:center;gap:.3em}.hero__eyebrow:after{content:"_";color:var(--color-accent);animation:blink 1.1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero__name{font-size:clamp(var(--text-4xl),8vw,var(--text-5xl));font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--color-text-primary);margin-bottom:var(--sp-md);text-shadow:-2px 0 rgba(255,46,99,.45),2px 0 rgba(34,211,238,.45)}.hero__tagline{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:540px;margin:0 0 var(--sp-xl);line-height:1.7}.hero__cta{display:flex;gap:var(--sp-sm);flex-wrap:wrap}.about__grid{display:grid;grid-template-columns:200px 1fr;gap:var(--sp-xl);align-items:start}.about__photo{position:relative;aspect-ratio:1;overflow:hidden;display:flex;align-items:center;justify-content:center}.about__photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.about__initials{position:absolute;font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:700;color:var(--color-accent);letter-spacing:-.02em}#profileImg{display:block}#profileImg.hidden,#profileInitials{display:none}#profileInitials.visible{display:flex}.about__bio{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:1.8}.about__bio strong{color:var(--color-text-primary);font-weight:600}.about__bio a{color:var(--color-accent);text-decoration:none;transition:color var(--t-fast)}.about__bio a:hover{color:var(--color-neon)}.timeline{position:relative;padding-left:var(--sp-xl)}.timeline:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:var(--color-border)}.timeline__item{position:relative;padding:var(--sp-lg);margin-bottom:var(--sp-md);transition:--edge var(--t-fast);clip-path:polygon(-64px 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)),-64px calc(100% - var(--cut)))}.timeline__item:hover,.highlight-card:hover,.project-card:hover{--edge: var(--color-neon-edge)}.timeline__item:before{content:"";position:absolute;left:calc(-1 * var(--sp-xl) - 4px);top:calc(var(--sp-lg) + 6px);width:9px;height:9px;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-bg)}.timeline__date{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;color:var(--color-text-secondary);margin-bottom:.4rem}.timeline__role{font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);line-height:1.3}.timeline__company{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--sp-sm)}.timeline__bullets{display:flex;flex-direction:column;gap:.55rem}.timeline__bullets li{color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.65;padding-left:var(--sp-sm);position:relative}.timeline__bullets li:before{content:"▸";position:absolute;left:0;color:var(--color-text-muted);font-size:.85em;top:1px}.highlights__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-lg)}.highlight-card:last-child{grid-column:1 / -1}.highlight-card__body{display:flex;flex-direction:column;gap:var(--sp-sm);flex:1}@media (min-width: 769px){.highlight-card:last-child .highlight-card__body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-lg)}}.highlight-card{padding:var(--sp-lg);display:flex;flex-direction:column;gap:var(--sp-sm);transition:--edge var(--t-fast)}.highlight-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-sm)}.highlight-card__title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary)}.highlight-card__period{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.highlight-card__label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.3rem}.highlight-card__section p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.65}.highlight-card__tech{display:flex;flex-wrap:wrap;gap:var(--sp-xs);margin-top:var(--sp-xs)}.skills__grid{border-bottom:1px solid var(--color-border)}.skill-group{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--sp-md);align-items:baseline;padding:var(--sp-md) 0;border-top:1px solid var(--color-border)}.skill-group__title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.skill-pills{display:flex;flex-wrap:wrap;gap:var(--sp-xs)}.skill-pill{padding:.3rem .75rem;border-radius:2px;background:#ffffff0a;border:1px solid var(--color-border);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400}.projects__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-lg)}.project-card:first-child{grid-column:1 / -1}.project-card{padding:var(--sp-lg);display:flex;flex-direction:column;gap:var(--sp-sm);transition:--edge var(--t-fast)}.project-card__title{font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary)}.project-card__desc{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.65;flex:1}.project-card__tech{display:flex;flex-wrap:wrap;gap:var(--sp-xs)}.project-card__links{display:flex;gap:var(--sp-sm);margin-top:var(--sp-xs);flex-wrap:wrap}.project-card__link{font-size:var(--text-sm);font-weight:500;color:var(--color-accent);text-decoration:none;display:inline-flex;align-items:center;gap:5px;transition:color var(--t-fast)}.project-card__link:hover{color:var(--color-neon)}.project-card__private{font-size:var(--text-sm);color:var(--color-text-muted)}.contact__card{max-width:580px;margin:0 auto;padding:var(--sp-xl);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-lg)}.contact__intro{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:1.7;max-width:400px}.contact__links{display:flex;gap:var(--sp-lg);align-items:center;flex-wrap:wrap;justify-content:center}.contact__link{display:inline-flex;align-items:center;gap:var(--sp-xs);color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);transition:color var(--t-fast)}.contact__link:hover{color:var(--color-neon)}.contact__link svg{flex-shrink:0}.footer{position:relative;z-index:1;text-align:center;padding:var(--sp-lg);color:var(--color-text-muted);font-size:var(--text-xs);border-top:1px solid var(--color-border)}.footer p+p{margin-top:.4rem}@media (max-width: 1100px){.hero__layout{grid-template-columns:minmax(0,1fr)}.hero__demo{max-width:none}.hero__content{text-align:center}.hero__tagline{margin-left:auto;margin-right:auto}.hero__cta{justify-content:center}}@media (max-width: 768px){.nav__hamburger{display:flex}.nav__links{position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;background:var(--color-bg);padding:var(--sp-sm) 0;transform:translateY(calc(-100% - var(--nav-h)));visibility:hidden;transition:transform var(--t-base),visibility var(--t-base);border-bottom:1px solid var(--color-border);z-index:99}.nav__links.nav__links--open{transform:translateY(0);visibility:visible}.nav__links li a{display:block;padding:var(--sp-sm) var(--sp-lg);font-size:var(--text-sm)}.about__grid{grid-template-columns:1fr}.about__photo{width:150px;margin:0 auto}.timeline{padding-left:var(--sp-lg)}.skill-group{grid-template-columns:minmax(0,1fr);gap:var(--sp-xs)}.highlights__grid,.projects__grid{grid-template-columns:1fr}.contact__card{padding:var(--sp-xl) var(--sp-lg)}}@media (max-width: 480px){.section{padding:var(--sp-xl) 0}.container{padding:0 var(--sp-sm)}.hero{padding-top:calc(var(--nav-h) + var(--sp-md))}.hero__layout{padding:0 var(--sp-sm)}.hero__cta{flex-direction:column;align-items:center}.demo__pipeline{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.section__title{font-size:var(--text-xl)}.timeline__item{padding:var(--sp-sm)}.contact__links{flex-direction:column;gap:var(--sp-sm)}}
