:root{--bg-primary:#0c0c0e;--bg-secondary:#060608;--bg-surface:#131316;--bg-raised:#1a1a1f;--accent:#00baff;--accent-dim:#00baff1f;--text-primary:#f0f0f2;--text-secondary:#a8a8b3;--text-muted:#555560;--border:#ffffff0f;--border-strong:#ffffff1f;--font-display:"Syne", sans-serif;--font-body:"DM Sans", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius-sm:3px;--radius-md:6px;--speed:.25s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");flex-direction:column;min-height:100vh;line-height:1.6;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;transition:color var(--speed);text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;display:block}ul{list-style:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 24px}.topbar{-webkit-backdrop-filter:blur(14px);z-index:200;border-bottom:1px solid var(--border);background-color:#0c0c0eeb;padding:12px 0;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar-brand{cursor:pointer;color:inherit;background:0 0;border:none;flex-shrink:0;align-items:center;gap:12px;padding:0;display:flex}.topbar-avatar{object-fit:cover;border:1.5px solid var(--accent);width:38px;height:38px;box-shadow:0 0 0 3px var(--accent-dim);border-radius:50%;flex-shrink:0}.topbar-info{text-align:left;flex-direction:column;display:flex}.topbar-name{font-family:var(--font-display);letter-spacing:.3px;font-size:.95rem;font-weight:700;line-height:1.2}.topbar-role{font-family:var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:2px;margin-top:2px;font-size:.65rem}.topbar-nav{align-items:center;gap:4px;display:flex}.nav-link{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--speed);border-bottom:2px solid #0000;padding:7px 14px;font-size:.72rem;font-weight:500}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--accent);border-bottom-color:var(--accent)}.topbar-social{flex-shrink:0;align-items:center;gap:4px;display:flex}.social-icon{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);transition:all var(--speed);justify-content:center;align-items:center;display:flex}.social-icon:hover{color:var(--accent);background:var(--accent-dim)}.lang-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);flex-shrink:0;align-items:center;display:flex;overflow:hidden}.lang-opt{font-family:var(--font-mono);letter-spacing:1px;color:var(--text-muted);cursor:pointer;transition:all var(--speed);background:0 0;border:none;padding:4px 8px;font-size:.62rem;font-weight:600}.lang-opt:first-child{border-right:1px solid var(--border-strong)}.lang-opt:hover{color:var(--text-primary);background:var(--bg-raised)}.lang-opt.active{color:var(--accent);background:var(--accent-dim)}.skills-list{flex-wrap:wrap;gap:8px;display:flex}.skill-badge{border:1px solid var(--border-strong);font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-surface);letter-spacing:.5px;transition:all var(--speed);border-radius:20px;padding:5px 14px;font-size:.72rem}.skill-badge:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;display:flex}.cta-btn{border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;transition:all var(--speed);cursor:pointer;align-items:center;gap:7px;padding:9px 18px;font-size:.75rem;font-weight:500;display:inline-flex}.cta-primary{background:var(--accent);color:#000;font-weight:600}.cta-primary:hover{color:#000;background:#fff}.cta-secondary{border:1px solid var(--border-strong);color:var(--text-secondary)}.cta-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.landscape-carousel{aspect-ratio:16/5.25;background:var(--bg-raised);width:100%;position:relative;overflow:hidden}.carousel-placeholder{aspect-ratio:16/5.25;background:linear-gradient(135deg, var(--bg-raised) 0%, var(--bg-secondary) 100%);width:100%}.carousel-slide{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}@keyframes carousel-zoom-out{0%{transform:scale(1.07)}to{transform:scale(1)}}.carousel-slide.active{opacity:1;animation:4.5s ease-out forwards carousel-zoom-out}.carousel-arrow{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;width:44px;height:44px;transition:background var(--speed);background:#0000008c;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;padding-bottom:2px;font-size:1.8rem;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow:hover{background:var(--accent);color:#000}.carousel-prev{left:16px}.carousel-next{right:16px}.carousel-dots{z-index:10;gap:7px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.carousel-dot{width:8px;height:8px;transition:background var(--speed), transform var(--speed);background:#ffffff59;border-radius:50%;padding:0}.carousel-dot.active{background:var(--accent);transform:scale(1.3)}.carousel-identity{z-index:10;text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:10px;width:max-content;max-width:min(520px,100vw - 48px);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.carousel-id-avatar{object-fit:cover;border:2px solid var(--accent);border-radius:50%;width:clamp(80px,14vw,173px);height:clamp(80px,14vw,173px);box-shadow:0 0 0 4px #00baff26,0 4px 24px #000000b3}.carousel-id-namerow{flex-direction:column;align-items:center;gap:6px;display:flex}.carousel-id-name{font-family:var(--font-display);color:#fff;text-shadow:0 0 20px #000000e6,0 0 40px #000000b3,0 2px 6px #000;font-size:clamp(1rem,3vw,1.5rem);font-weight:800;line-height:1.1}.carousel-id-sep{color:var(--accent);text-shadow:0 0 12px #000;font-size:1rem}.carousel-id-role{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2.5px;color:var(--accent);text-shadow:0 0 16px #000,0 0 32px #000c;font-size:clamp(.65rem,1.5vw,.8rem)}.carousel-id-bio{color:#ffffffd9;text-shadow:0 0 16px #000,0 0 32px #000000e6,0 1px 4px #000;white-space:normal;font-size:clamp(.75rem,1.5vw,.88rem);line-height:1.6}.section-bar{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:3px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:8px;padding:28px 0 12px;font-size:.68rem}main{flex:1;padding:0 0 60px}.grid{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:4px;display:flex}.grid .portfolio-item{flex:0 0 calc(20% - 4.8px);min-width:120px;max-width:280px}@media (width<=900px){.grid .portfolio-item{flex:0 0 calc(25% - 4.5px);min-width:0}}@media (width<=600px){.grid .portfolio-item{flex:0 0 calc(33.333% - 4px);min-width:0}}.portfolio-item{border-radius:var(--radius-sm);background-color:var(--bg-raised);aspect-ratio:1;cursor:pointer;position:relative;overflow:hidden}.portfolio-item>img,.portfolio-item>video{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.25,.46,.45,.94);display:block}.portfolio-item:hover>img,.portfolio-item:hover>video{transform:scale(1.04)}@keyframes img-fade-in{0%{opacity:.4}to{opacity:1}}.project-thumb{animation:.35s img-fade-in}.item-overlay{opacity:0;width:100%;transition:opacity var(--speed), transform var(--speed);border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:2;background:linear-gradient(#0000,#000000d9);padding:28px 14px 14px;position:absolute;bottom:0;left:0;transform:translateY(4px)}.portfolio-item:hover .item-overlay{opacity:1;transform:translateY(0)}.item-overlay h3{font-family:var(--font-display);letter-spacing:.3px;font-size:.88rem;font-weight:700;line-height:1.3}.project-count{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.5px;z-index:3;opacity:0;transition:opacity var(--speed);background:#000000b3;border:1px solid #ffffff1a;border-radius:10px;padding:3px 8px;font-size:.65rem;position:absolute;top:10px;right:10px}.portfolio-item:hover .project-count{opacity:1}.fade-in{opacity:0;transition:opacity .4s,transform .4s;transform:translateY(14px)}.fade-in.visible{opacity:1;transform:translateY(0)}.lightbox-content{justify-content:center;align-items:center;max-width:95vw;max-height:calc(100vh - 80px);margin:auto;display:flex;position:relative}.lightbox-image{object-fit:contain;border-radius:var(--radius-md);width:auto;max-width:95vw;height:auto;max-height:calc(100vh - 80px);display:block}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#000000eb;padding:40px 60px;display:flex;position:fixed;inset:0;overflow-y:auto}@media (width<=600px){.modal-overlay{padding:20px 16px}}.modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:1200px;height:fit-content;margin:auto;position:relative;overflow:hidden}.modal-close{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;z-index:10;width:40px;height:40px;transition:background var(--speed);background:#000000bf;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;display:flex;position:absolute;top:12px;right:12px}.modal-close:hover{background:var(--accent);color:#000}.modal-nav{z-index:1010;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;width:52px;height:52px;transition:background var(--speed), color var(--speed);background:#000000a6;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;font-size:2.4rem;line-height:1;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.modal-nav:hover{background:var(--accent);color:#000}.modal-nav-prev{left:16px}.modal-nav-next{right:16px}@media (width<=600px){.modal-nav{width:40px;height:40px;font-size:1.8rem}.modal-nav-prev{left:6px}.modal-nav-next{right:6px}}.modal-header{text-align:center;border-bottom:1px solid var(--border);padding:56px 32px 24px}.modal-header h2{font-family:var(--font-display);margin-bottom:6px;font-size:1.6rem;font-weight:800}.modal-body{flex-direction:column;gap:0;padding:0;display:flex}.modal-image{width:100%;height:auto;display:block}.about-page{flex:1;padding:56px 24px 80px}.about-profile{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-start;gap:40px;margin-bottom:64px;padding-bottom:48px;display:flex}.about-avatar{object-fit:cover;border:2px solid var(--accent);width:140px;height:140px;box-shadow:0 0 0 6px var(--accent-dim);border-radius:50%;flex-shrink:0}.about-profile-info{flex:1;min-width:280px}.about-profile-info h1{font-family:var(--font-display);margin-bottom:6px;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800}.about-role{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:3px;color:var(--accent);margin-bottom:4px;font-size:.78rem}.about-location{color:var(--text-muted);font-size:.83rem;font-family:var(--font-mono);margin-bottom:4px}.about-email{color:var(--text-secondary);font-size:.83rem;font-family:var(--font-mono);margin-bottom:18px}.about-skills{margin-bottom:20px}.about-summary{color:var(--text-secondary);max-width:560px;margin-bottom:24px;font-size:.97rem;line-height:1.85}.about-columns{grid-template-columns:1fr 1fr;gap:48px;display:grid}@media (width<=700px){.about-columns{grid-template-columns:1fr}.about-profile{text-align:center;flex-direction:column;align-items:center}.about-skills,.about-profile-info .hero-ctas{justify-content:center}}.about-col-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2.5px;color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:10px;font-size:.7rem}.exp-item{flex-direction:column;margin-bottom:24px;display:flex}.exp-company{font-family:var(--font-display);font-size:.9rem;font-weight:700}.exp-role{color:var(--text-secondary);margin-top:3px;font-size:.83rem}.exp-date{font-family:var(--font-mono);color:var(--text-muted);margin-top:3px;font-size:.72rem}footer{background-color:var(--bg-secondary);text-align:center;border-top:1px solid var(--border);padding:28px 0}.footer-inner{flex-direction:column;align-items:center;gap:10px;display:flex}.footer-inner p{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.5px;font-size:.72rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-raised);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.topbar-burger{border-radius:var(--radius-sm);width:36px;height:36px;transition:background var(--speed);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:6px;display:none}.topbar-burger:hover{background:var(--accent-dim)}.topbar-burger span{background:var(--text-secondary);border-radius:2px;width:18px;height:2px;transition:transform .2s,opacity .2s;display:block}.topbar-burger.open span:first-child{transform:translateY(7px)rotate(45deg)}.topbar-burger.open span:nth-child(2){opacity:0}.topbar-burger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.topbar-dropdown{-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);background:#0c0c0efa;padding:6px 0 10px}.dropdown-link{width:100%;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary);text-align:left;cursor:pointer;transition:color var(--speed), background var(--speed);background:0 0;border:none;padding:13px 24px;font-size:.75rem;display:block}.dropdown-link:hover,.dropdown-link.active{color:var(--accent);background:var(--accent-dim)}.dropdown-divider{background:var(--border);height:1px;margin:6px 0}.dropdown-lang{padding:8px 24px;display:flex}.dropdown-lang .lang-opt:first-child{border-right:1px solid var(--border-strong)}@media (width<=640px){.topbar-nav,.topbar-social{display:none}.topbar-burger{display:flex}.topbar-inner>.lang-toggle{display:none}}@media (width<=600px){.landscape-carousel{aspect-ratio:4/2.25}}
