:root{--bg:#0d0d0d;--bg-alt:#050505;--surface:rgba(255,255,255,0.05);--surface-hover:rgba(255,255,255,0.08);--border:rgba(255,255,255,0.08);--text:#f5f5f5;--text-muted:rgba(245,245,245,0.5);--text-subtle:rgba(245,245,245,0.28);--accent:#ffb800;--accent-hover:#ffd000;--font-sans:'Albert Sans','Inter',-apple-system,sans-serif;--font-body:'Inter',-apple-system,sans-serif;--col-left:50%;--col-right:50%;--page-max:1920px;--col-pad-x:clamp(60px,10vw,180px);--topbar-h:52px;--nav-h:52px;--radius-sm:8px;--radius-md:14px;--radius-pill:100px;--ease:cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-out:cubic-bezier(0,0,0.2,1);}html.light-mode,body.light-mode{--bg:#faf9f5;--bg-alt:#f0eee6;--surface:rgba(18,17,16,0.04);--surface-hover:rgba(18,17,16,0.07);--border:rgba(18,17,16,0.08);--text:#1e1c19;--text-muted:rgba(30,28,25,0.68);--text-subtle:rgba(30,28,25,0.46);--accent:#ffb800;--accent-hover:#ffd000;}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-gutter:stable;background:var(--bg);transition:background 0.4s var(--ease);}body{font-family:var(--font-body);color:var(--text);line-height:1.6;min-height:100vh;overflow-x:hidden;transition:color 0.4s var(--ease);}body.light-mode{color:var(--text);}a{color:inherit;text-decoration:none;transition:color 0.2s var(--ease);}ul{list-style:none;}img,svg{display:block;max-width:100%;}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit;color:inherit;}.ambient-glows{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden;opacity:0.65;mix-blend-mode:plus-lighter;}body.light-mode .ambient-glows{mix-blend-mode:multiply;opacity:0.25;}.glow-blob{position:absolute;border-radius:50%;filter:blur(120px);opacity:0.4;will-change:transform;}.glow-blob-1{top:-10%;left:20%;width:45vw;height:45vw;background:radial-gradient(circle,rgba(255,184,0,0.25) 0%,rgba(200,100,40,0.05) 70%,transparent 100%);animation:drift-blob-1 25s ease-in-out infinite alternate;}.glow-blob-2{bottom:10%;left:-5%;width:40vw;height:40vw;background:radial-gradient(circle,rgba(232,160,32,0.2) 0%,rgba(255,0,128,0.03) 70%,transparent 100%);animation:drift-blob-2 30s ease-in-out infinite alternate;}.glow-blob-3{top:40%;left:30%;width:35vw;height:35vw;background:radial-gradient(circle,rgba(255,184,0,0.15) 0%,rgba(232,160,32,0.02) 70%,transparent 100%);animation:drift-blob-3 22s ease-in-out infinite alternate;}@keyframes drift-blob-1{0%{transform:translate(0,0) scale(1);}50%{transform:translate(4vw,5vh) scale(1.1);}100%{transform:translate(-2vw,-3vh) scale(0.95);}}@keyframes drift-blob-2{0%{transform:translate(0,0) scale(1);}50%{transform:translate(-3vw,-4vh) scale(0.9);}100%{transform:translate(3vw,3vh) scale(1.05);}}@keyframes drift-blob-3{0%{transform:translate(0,0) scale(1);}50%{transform:translate(5vw,-3vh) scale(1.15);}100%{transform:translate(-4vw,4vh) scale(0.9);}}.scroll-indicator{display:flex;justify-content:flex-start;margin-top:36px;opacity:0.7;transition:opacity 0.3s var(--ease);}.scroll-indicator:hover{opacity:1;}.mouse-icon{width:20px;height:32px;border:1.5px solid var(--text-muted);border-radius:20px;position:relative;display:flex;justify-content:center;padding-top:6px;}.mouse-wheel{width:3px;height:6px;background:var(--accent);border-radius:100px;animation:scroll-wheel-anim 1.8s ease-in-out infinite;}@keyframes scroll-wheel-anim{0%{transform:translateY(0);opacity:0;}25%{opacity:1;}75%{transform:translateY(6px);opacity:0;}100%{transform:translateY(6px);opacity:0;}}::-webkit-scrollbar{width:10px;height:10px;}::-webkit-scrollbar-track{background:var(--bg);}::-webkit-scrollbar-thumb{background:var(--accent);border:2.5px solid var(--bg);border-radius:100px;}::-webkit-scrollbar-thumb:hover{background:var(--accent-hover);}html{scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg);}body,html,.btn-icon,.lang-dropdown,.lang-option,.btn-cv,.bottom-nav,.nav-item,.section-title,.section-body p,.pull-quote,.job,.job-title,.job-company,.job-desc,.project-card,.project-card__name,.project-card__sub,.tool-item,.skills-list li,.lang-name,.lang-track,.edu-item,.edu-school,.edu-degree,.social-btn,.site-footer,.status-badge,.contact-item,.bg-fade-left,.bg-portrait,.bg-portrait::before{transition:background-color 0.4s var(--ease),background 0.4s var(--ease),color 0.4s var(--ease),border-color 0.4s var(--ease),box-shadow 0.4s var(--ease),opacity 0.4s var(--ease),filter 0.4s var(--ease);}::view-transition-group(root){animation-duration:0.7s;}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal;object-fit:none;object-position:left top;}::view-transition-old(root){z-index:1;opacity:1;}::view-transition-new(root){z-index:9999;}.theme-transitioning::view-transition-new(root){animation:clip-path-reveal 0.7s cubic-bezier(0.4,0,0.2,1);}@keyframes clip-path-reveal{from{clip-path:circle(0% at var(--click-x,50%) var(--click-y,50%));}to{clip-path:circle(120% at var(--click-x,50%) var(--click-y,50%));}}html.theme-transitioning *,html.theme-transitioning *::before,html.theme-transitioning *::after{transition:none !important;}.page-frame{display:grid;grid-template-columns:var(--col-left) var(--col-right);min-height:100vh;position:relative;max-width:1920px;margin-left:auto;margin-right:auto;}.top-bar{position:fixed;top:24px;right:24px;z-index:100;pointer-events:none;}.status-badge{position:absolute;top:28px;left:var(--col-pad-x);display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text);letter-spacing:0.01em;z-index:5;}.status-dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 6px rgba(255,184,0,0.8);}.status-dot::after{content:'';position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:50%;border:1.5px solid var(--accent);opacity:0;animation:status-pulse 2s infinite cubic-bezier(0.25,0,0,1);pointer-events:none;}@keyframes status-pulse{0%{transform:scale(0.6);opacity:0.8;}100%{transform:scale(1.8);opacity:0;}}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid rgba(255,255,255,0.18);color:var(--text);border-radius:50%;transition:background 0.2s var(--ease),border-color 0.2s var(--ease),transform 0.18s var(--ease-spring),box-shadow 0.2s var(--ease);white-space:nowrap;font-family:var(--font-body);}.btn-icon svg{width:15px;height:15px;flex-shrink:0;transition:transform 0.5s var(--ease-spring);}.btn-icon:hover{background:rgba(255,184,0,0.12);border-color:rgba(255,184,0,0.35);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 16px rgba(255,184,0,0.12);}.btn-icon:hover svg{transform:rotate(45deg) scale(1.1);}.btn-icon:active{transform:translateY(0);}body.light-mode .btn-icon{background:rgba(0,0,0,0.07);border-color:rgba(0,0,0,0.12);}body.light-mode .btn-icon:hover{background:rgba(255,184,0,0.15);border-color:rgba(255,184,0,0.4);}.top-bar-controls{display:flex;align-items:center;gap:4px;padding:4px 6px;background:rgba(20,20,20,0.85);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-pill);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:0 12px 40px rgba(0,0,0,0.45),0 2px 8px rgba(0,0,0,0.25);pointer-events:auto;}body.light-mode .top-bar-controls{background:rgba(245,240,232,0.88);border-color:rgba(0,0,0,0.08);box-shadow:0 12px 40px rgba(0,0,0,0.12);}.top-bar-controls .btn-icon{border:none;background:transparent;width:38px;height:38px;border-radius:50%;color:var(--text);box-shadow:none;transform:none;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background 0.3s var(--ease),color 0.3s var(--ease),transform 0.2s var(--ease),box-shadow 0.3s var(--ease);}body.light-mode .top-bar-controls .btn-icon{border:none;background:transparent;box-shadow:none;color:var(--text);}.top-bar-controls .btn-icon:hover{background:rgba(255,255,255,0.06);color:var(--accent);transform:scale(1.05);box-shadow:none;}body.light-mode .top-bar-controls .btn-icon:hover{background:rgba(0,0,0,0.05);color:var(--accent);box-shadow:none;}.top-bar-controls .lang-picker.open #lang-toggle{background:rgba(255,255,255,0.95);color:#000;transform:scale(1.03);box-shadow:0 4px 12px rgba(255,255,255,0.25);}body.light-mode .top-bar-controls .lang-picker.open #lang-toggle{background:rgba(0,0,0,0.95);color:#fff;box-shadow:0 4px 12px rgba(0,0,0,0.15);}.top-bar-controls .btn-icon svg{transition:transform 0.3s var(--ease);}.top-bar-controls .btn-icon:hover svg{transform:rotate(15deg);}.btn-cv{display:inline-flex;align-items:center;padding:9px 22px;background:var(--accent);color:#000;font-family:var(--font-body);font-size:13px;font-weight:700;border-radius:var(--radius-pill);letter-spacing:0.02em;white-space:nowrap;transition:background 0.2s var(--ease),transform 0.18s var(--ease-spring),box-shadow 0.2s var(--ease);}.btn-cv:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,184,0,0.4);}.btn-cv:active{transform:translateY(0);}.lang-picker{position:relative;}.lang-dropdown{position:absolute;top:calc(100%+10px);right:0;min-width:160px;background:rgba(20,20,20,0.97);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-md);overflow:hidden;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 12px 40px rgba(0,0,0,0.5);opacity:0;transform:translateY(-8px) scale(0.97);pointer-events:none;transition:opacity 0.2s var(--ease),transform 0.2s var(--ease);z-index:300;}.lang-picker.open .lang-dropdown{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}.lang-option{display:flex;align-items:center;gap:10px;padding:11px 16px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:background 0.15s,color 0.15s;border:none;background:none;width:100%;text-align:left;font-family:var(--font-body);}.lang-option:hover{background:rgba(232,160,32,0.1);color:var(--accent);}.lang-option.active{color:var(--accent);font-weight:700;}body.light-mode .lang-dropdown{background:rgba(245,240,232,0.98);border-color:rgba(0,0,0,0.1);}body.light-mode .lang-option{color:var(--text-muted);}body.light-mode .lang-option:hover{background:rgba(232,160,32,0.12);}.bg-portrait{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0;background:var(--bg);}.bg-portrait::before{content:'';position:absolute;top:0;left:0;right:0;height:160px;background:linear-gradient(to bottom,rgba(0,0,0,0.5) 0%,transparent 100%);z-index:3;pointer-events:none;}body.light-mode .bg-portrait::before{background:linear-gradient(to bottom,rgba(250,249,245,0.6) 0%,transparent 100%);}.bg-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% top;display:block;filter:blur(var(--portrait-blur,0px));transform:translateZ(0);transition:filter 0.5s var(--ease),opacity 0.6s var(--ease);}.portrait-img--light{opacity:0;z-index:2;}.portrait-img--dark{opacity:1;z-index:1;}body.light-mode .portrait-img--light{opacity:1;}body.light-mode .portrait-img--dark{opacity:0;}.bg-fade-left{position:absolute;inset:0;background:linear-gradient( to right,var(--bg) 0%,rgba(13,13,13,0.85) 30%,rgba(13,13,13,0.65) 55%,rgba(13,13,13,0.15) 75%,transparent 100% );opacity:calc(0.85+0.15 * var(--scroll-progress,0));transition:opacity 0.4s var(--ease);}.bg-portrait::after{content:'';position:absolute;bottom:0;left:0;right:0;height:28%;background:linear-gradient(to top,rgba(0,0,0,0.80) 0%,transparent 100%);}.bg-glow{position:absolute;top:0;right:-10%;width:90%;height:80%;background:radial-gradient(ellipse at 55% 38%,rgba(200,100,40,0.42) 0%,transparent 68%);pointer-events:none;}body.light-mode .bg-fade-left{inset:0;background:linear-gradient( to right,var(--bg) 0%,var(--bg) 50%,rgba(250,249,245,0.9) 65%,rgba(250,249,245,0.4) 80%,transparent 100% );opacity:calc(0.85+0.15 * var(--scroll-progress,0));background-blend-mode:normal;}body.light-mode .bg-portrait::after{background:linear-gradient(to top,rgba(250,249,245,0.80) 0%,transparent 100%);}body.light-mode .bg-glow{background:radial-gradient(ellipse at 55% 38%,rgba(255,184,0,0.18) 0%,transparent 70%);}body.light-mode .btn-cv{background:var(--accent);color:#000;}body.light-mode .btn-cv:hover{background:var(--accent-hover);color:#000;box-shadow:0 6px 20px rgba(255,184,0,0.25);}body.light-mode .btn-icon:hover{background:rgba(255,184,0,0.12);border-color:rgba(255,184,0,0.35);}body.light-mode .project-card{background:rgba(255,255,255,0.45);border-color:rgba(0,0,0,0.05);}body.light-mode .project-card:hover{background:rgba(255,255,255,0.85);box-shadow:0 16px 40px rgba(255,184,0,0.08),0 0 0 1px rgba(255,184,0,0.18);border-color:rgba(255,184,0,0.35);}body.light-mode .tool-item{background:rgba(255,255,255,0.45);border-color:rgba(0,0,0,0.05);}body.light-mode .tool-item:hover{background:rgba(255,255,255,0.85);border-color:rgba(255,184,0,0.35);}body.light-mode .social-btn{background:rgba(255,255,255,0.45);border-color:rgba(0,0,0,0.05);}body.light-mode .social-btn:hover{background:rgba(255,255,255,0.85);border-color:rgba(255,184,0,0.4);}body.light-mode .hero-role{color:var(--text);}body.light-mode .job-company{display:inline-block;background:#1e1c19;color:var(--accent);padding:3px 10px;border-radius:6px;margin-left:18px;font-weight:700;border:none;}.main-content{grid-column:1;grid-row:1;position:relative;z-index:10;min-width:0;background:transparent;padding-bottom:calc(var(--nav-h)+64px);}.status-badge-container{display:none;}.section{padding-top:clamp(80px,11vh,140px);padding-bottom:clamp(80px,11vh,140px);padding-left:var(--col-pad-x);padding-right:clamp(24px,3vw,60px);}.section--hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(100px,14vh,180px);padding-top:0;position:relative;}.hero-role,.hero-name,.hero-contact{max-width:min(580px,42vw);}.hero-role{font-family:var(--font-body);font-size:14px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;}.hero-name{font-family:var(--font-sans);font-size:clamp(48px,5.5vw,88px);font-weight:800;line-height:1.0;letter-spacing:-0.03em;background:linear-gradient(135deg,#ffffff 10%,rgba(255,255,255,0.55) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:var(--text);margin-bottom:clamp(28px,4vh,52px);max-width:560px;overflow-wrap:break-word;word-break:break-word;}body.light-mode .hero-name{background:linear-gradient(135deg,#1e1c19 20%,rgba(30,28,25,0.6) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}.hero-contact{display:flex;flex-direction:column;gap:10px;max-width:100%;}.contact-item{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:400;color:var(--text-muted);transition:color 0.2s var(--ease);width:fit-content;border-radius:8px;padding:4px 8px;margin-left:-8px;}.contact-item:hover{color:var(--text);}.contact-icon{width:15px;height:15px;flex-shrink:0;opacity:0.6;}.section-title{font-family:var(--font-sans);font-size:clamp(36px,4.5vw,56px);font-weight:800;letter-spacing:-0.025em;background:linear-gradient(135deg,#ffffff 20%,rgba(255,255,255,0.5) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:var(--text);margin-bottom:clamp(36px,5vh,60px);line-height:1.05;}body.light-mode .section-title{background:linear-gradient(135deg,#1e1c19 30%,rgba(30,28,25,0.55) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}.section-body{display:flex;flex-direction:column;gap:22px;}.section-body p{font-size:15.5px;line-height:1.8;color:var(--text-muted);}.pull-quote{border-left:2px solid var(--accent);padding:18px 0 18px 24px;font-size:15px;line-height:1.8;color:var(--text-muted);font-style:italic;margin-top:8px;}.job{position:relative;padding-left:28px;padding-top:clamp(36px,5vh,56px);padding-bottom:clamp(36px,5vh,56px);border-top:1px solid var(--border);}.job:first-of-type{border-top:none;padding-top:0;}.job::before{content:'';position:absolute;left:3px;top:0;bottom:0;width:1.5px;background:linear-gradient(to bottom,var(--border),rgba(255,184,0,0.3) 50%,var(--border));z-index:1;}.job:first-of-type::before{top:10px;}.job:last-of-type::before{bottom:calc(100% - (clamp(36px,5vh,56px)+14px));}.job-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:4px;}.job-title-wrap{display:flex;align-items:center;gap:10px;}.job-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;position:absolute;left:0;top:10px;z-index:2;box-shadow:0 0 8px rgba(255,184,0,0.8);}.job:not(:first-of-type) .job-dot{top:calc(clamp(36px,5vh,56px)+10px);}.job-title{font-family:var(--font-sans);font-size:21px;font-weight:700;color:var(--text);letter-spacing:-0.01em;}.job-dates{font-size:13px;font-weight:500;color:var(--text-subtle);white-space:nowrap;padding-top:3px;}.job-company{display:inline-block;font-size:13.5px;font-weight:700;color:var(--accent);margin-bottom:16px;margin-left:18px;padding:3px 10px;border-radius:6px;background:var(--surface);border:1px solid var(--border);}.job-desc{font-size:15px;line-height:1.76;color:var(--text-muted);margin-bottom:28px;}.projects-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-subtle);margin-bottom:14px;}.project-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:30px;}.project-card{position:relative;width:100%;background:rgba(255,255,255,0.03);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-md);overflow:hidden;transition:transform 0.3s var(--ease-spring),box-shadow 0.3s var(--ease),border-color 0.3s,background 0.3s;cursor:pointer;}.project-card::after{content:'';position:absolute;top:0;left:-150%;width:50%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,0.13),transparent);transform:skewX(-25deg);transition:0.75s;pointer-events:none;z-index:5;}.project-card:hover::after{left:150%;transition:0.75s;}.project-card:hover{transform:translateY(-5px);background:rgba(255,255,255,0.06);box-shadow:0 20px 40px rgba(0,0,0,0.45),0 0 15px rgba(255,184,0,0.12);border-color:rgba(255,184,0,0.35);}.project-card__arrow{position:absolute;top:10px;right:12px;font-size:14px;color:var(--text-muted);opacity:0;transition:opacity 0.2s,transform 0.2s;transform:translateX(-4px) translateY(4px);}.project-card:hover .project-card__arrow{opacity:1;transform:translateX(0) translateY(0);}.project-card__img-wrap{width:100%;aspect-ratio:16/9;overflow:hidden;}.project-card__img{width:100%;height:100%;object-fit:cover;background:var(--bg-alt);transition:transform 0.4s var(--ease);display:block;}.project-card:hover .project-card__img{transform:scale(1.05);}.project-card__name{font-family:var(--font-sans);font-size:13px;font-weight:700;color:var(--text);padding:10px 12px 4px;}.project-card__sub{font-size:11px;color:var(--text-muted);padding:0 12px 12px;line-height:1.4;}.job-bullets{display:flex;flex-direction:column;gap:9px;}.job-bullets li{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.68;color:var(--text-muted);}.job-bullets li::before{content:'–';color:var(--accent);font-size:14px;flex-shrink:0;margin-top:0.1em;}.skills-grid{display:flex;gap:48px;margin-bottom:44px;}.skills-list{display:flex;flex-direction:column;gap:11px;flex:1;}.skills-list li{display:flex;align-items:center;gap:9px;font-size:15px;color:var(--text-muted);line-height:1.5;}.skills-list li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0;}.tools-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:52px;}.tool-item{display:flex;align-items:center;gap:9px;padding:10px 16px;background:rgba(255,255,255,0.03);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--text-muted);transition:background 0.25s,border-color 0.25s,transform 0.2s var(--ease-spring),color 0.25s,box-shadow 0.25s;cursor:default;}.tool-item:hover{background:rgba(255,255,255,0.07);border-color:rgba(255,184,0,0.3);transform:translateY(-2px);color:var(--text);box-shadow:0 6px 20px rgba(255,184,0,0.08);}.tool-icon{width:22px;height:22px;flex-shrink:0;}.subsection{margin-top:52px;}.subsection-title{font-family:var(--font-sans);font-size:17px;font-weight:700;color:var(--text);margin-bottom:28px;letter-spacing:-0.01em;}.lang-bar{display:flex;align-items:center;gap:18px;margin-bottom:16px;}.lang-name{font-size:14px;font-weight:500;color:var(--text-muted);min-width:84px;}.lang-track{flex:1;height:6px;background:rgba(255,255,255,0.05);border-radius:100px;overflow:hidden;border:1px solid rgba(255,255,255,0.05);}body.light-mode .lang-track{background:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.03);}.lang-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),#ffd000);border-radius:100px;transition:width 1.2s cubic-bezier(0.34,1.56,0.64,1);box-shadow:0 0 8px rgba(255,184,0,0.6);}.edu-item{position:relative;padding-left:28px;padding-top:clamp(24px,3vh,36px);padding-bottom:clamp(24px,3vh,36px);border-top:1px solid var(--border);}.edu-item:first-of-type{border-top:none;padding-top:0;}.edu-item::before{content:'';position:absolute;left:3px;top:0;bottom:0;width:1px;background:var(--border);z-index:1;}.edu-item:first-of-type::before{top:6px;}.edu-item:last-of-type::before{bottom:calc(100% - (clamp(24px,3vh,36px)+10px));}.edu-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;position:absolute;left:0;top:6px;z-index:2;}.edu-item:not(:first-of-type) .edu-dot{top:calc(clamp(24px,3vh,36px)+6px);}.edu-school{font-size:15px;font-weight:600;color:var(--text);margin-bottom:3px;}.edu-degree{font-size:13px;color:var(--text-muted);}.social-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:44px;}.social-btn{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--radius-md);background:rgba(255,255,255,0.03);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.08);color:var(--text-muted);transition:background 0.25s,border-color 0.25s,color 0.25s,transform 0.2s var(--ease-spring),box-shadow 0.25s;}.social-btn svg{width:22px;height:22px;}.social-btn:hover{transform:translateY(-3px);border-color:rgba(232,160,32,0.4);color:var(--accent);background:rgba(255,255,255,0.07);box-shadow:0 8px 24px rgba(255,184,0,0.12);}.contact-row{display:flex;flex-direction:column;gap:14px;margin-bottom:72px;}.contact-item--links{font-size:15.5px;font-weight:500;}.site-footer{font-size:13px;color:var(--text-subtle);padding-top:28px;border-top:1px solid var(--border);}.bottom-nav-wrap{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:5px;background:rgba(20,20,20,0.85);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-pill);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:0 12px 40px rgba(0,0,0,0.45),0 2px 8px rgba(0,0,0,0.25);z-index:200;white-space:nowrap;}.bottom-nav{display:flex;align-items:center;gap:2px;position:static !important;}.nav-indicator{position:absolute;top:0;left:0;width:0;height:0;background:rgba(255,255,255,0.95);border-radius:var(--radius-pill);box-shadow:0 4px 12px rgba(255,255,255,0.25);transition:transform 0.35s cubic-bezier(0.25,1,0.5,1),width 0.35s cubic-bezier(0.25,1,0.5,1),height 0.35s cubic-bezier(0.25,1,0.5,1),opacity 0.25s var(--ease);pointer-events:none;z-index:1;opacity:0;}.nav-item{display:flex;align-items:center;gap:6px;padding:9px 17px;font-family:var(--font-body);font-size:13.5px;font-weight:500;color:rgba(255,255,255,0.45);border-radius:var(--radius-pill);transition:color 0.3s var(--ease),background-color 0.3s var(--ease),transform 0.2s var(--ease);cursor:pointer;user-select:none;letter-spacing:0.01em;position:relative;z-index:2;}.nav-item:hover{color:rgba(255,255,255,0.85);}.nav-item.active{color:#000 !important;font-weight:600;}.nav-icon{width:15px;height:15px;flex-shrink:0;}body.light-mode .bottom-nav-wrap{background:rgba(245,240,232,0.88);border-color:rgba(0,0,0,0.08);box-shadow:0 12px 40px rgba(0,0,0,0.12);}body.light-mode .nav-item{color:rgba(26,23,20,0.45);}body.light-mode .nav-item:hover{color:rgba(26,23,20,0.85);}body.light-mode .nav-item.active{color:#fff !important;}body.light-mode .nav-indicator{background:rgba(26,23,20,0.98);box-shadow:0 4px 12px rgba(0,0,0,0.15);}.reveal{will-change:transform,opacity;transition:opacity 0.85s cubic-bezier(0.16,1,0.3,1),transform 0.85s cubic-bezier(0.16,1,0.3,1);}.reveal.revealed{opacity:1;}.reveal:not(.revealed){opacity:0;}.reveal:not(.revealed),.reveal:not(.revealed).reveal-from-bottom{transform:translateY(35px);}.reveal:not(.revealed).reveal-from-top{transform:translateY(-35px);}.reveal:not(.revealed).section-title,.reveal:not(.revealed).section-body p,.reveal:not(.revealed).pull-quote,.reveal:not(.revealed).job-bullets li,.reveal:not(.revealed).edu-item,.reveal:not(.revealed).lang-bar,.reveal:not(.revealed).lang-name{transform-origin:left center;}.reveal:not(.revealed).section-title,.reveal:not(.revealed).section-body p,.reveal:not(.revealed).pull-quote,.reveal:not(.revealed).job-bullets li,.reveal:not(.revealed).edu-item,.reveal:not(.revealed).lang-bar,.reveal:not(.revealed).lang-name,.reveal:not(.revealed).reveal-from-bottom.section-title,.reveal:not(.revealed).reveal-from-bottom.section-body p,.reveal:not(.revealed).reveal-from-bottom.pull-quote,.reveal:not(.revealed).reveal-from-bottom.job-bullets li,.reveal:not(.revealed).reveal-from-bottom.edu-item,.reveal:not(.revealed).reveal-from-bottom.lang-bar{transform:translateY(32px) skewY(1.5deg) scale(0.985);}.reveal:not(.revealed).reveal-from-top.section-title,.reveal:not(.revealed).reveal-from-top.section-body p,.reveal:not(.revealed).reveal-from-top.pull-quote,.reveal:not(.revealed).reveal-from-top.job-bullets li,.reveal:not(.revealed).reveal-from-top.edu-item,.reveal:not(.revealed).reveal-from-top.lang-bar{transform:translateY(-32px) skewY(-1.5deg) scale(0.985);}.reveal:not(.revealed).project-card,.reveal:not(.revealed).tool-item,.reveal:not(.revealed).social-btn{transform-origin:center center;}.reveal:not(.revealed).project-card,.reveal:not(.revealed).tool-item,.reveal:not(.revealed).social-btn,.reveal:not(.revealed).reveal-from-bottom.project-card,.reveal:not(.revealed).reveal-from-bottom.tool-item,.reveal:not(.revealed).reveal-from-bottom.social-btn{transform:perspective(1200px) translateY(45px) rotateX(8deg) scale(0.94);}.reveal:not(.revealed).reveal-from-top.project-card,.reveal:not(.revealed).reveal-from-top.tool-item,.reveal:not(.revealed).reveal-from-top.social-btn{transform:perspective(1200px) translateY(-45px) rotateX(-8deg) scale(0.94);}.reveal:not(.revealed).reveal--left{transform:translateX(-35px);}.reveal:not(.revealed).reveal--left.reveal-from-bottom{transform:translateX(-35px) translateY(15px);}.reveal:not(.revealed).reveal--left.reveal-from-top{transform:translateX(-35px) translateY(-15px);}.reveal--delay-1{transition-delay:0.08s;}.reveal--delay-2{transition-delay:0.16s;}.reveal--delay-3{transition-delay:0.24s;}#home .reveal,#home .reveal.revealed{opacity:1 !important;transform:none !important;transition:none !important;}@media (max-width:900px){.page-frame{display:block;}.bg-portrait{position:fixed;top:0;right:0;width:100%;height:100%;opacity:0.15;z-index:0;}.bg-fade-left{background:linear-gradient(to right,var(--bg) 10%,rgba(14,14,14,0.6) 60%,transparent 100%);opacity:1 !important;}body.light-mode .bg-fade-left{background:linear-gradient(to right,var(--bg) 10%,rgba(250,249,245,0.6) 60%,transparent 100%);opacity:1 !important;}.top-bar{position:absolute;top:24px;right:24px;left:auto;width:auto;height:auto;padding:0;z-index:100;}.top-bar-controls{gap:2px;padding:3px 4px;}.top-bar-controls .btn-icon{width:34px;height:34px;}.btn-cv{padding:7px 16px;font-size:11.5px;}.status-badge{left:24px;top:80px;}.main-content{padding-bottom:calc(var(--nav-h)+48px);}.section{padding-left:24px;padding-right:24px;padding-top:60px;padding-bottom:60px;}.section--hero{min-height:100vh;padding-top:0;padding-bottom:80px;justify-content:flex-end;}.hero-name{font-size:clamp(44px,12vw,64px);line-height:1.05;margin-bottom:32px;white-space:pre-line;}.hero-contact{grid-template-columns:1fr;gap:10px;}.skills-grid{flex-direction:column;gap:8px;}.project-cards{grid-template-columns:1fr;}.job-header{flex-wrap:wrap;gap:4px 16px;}.bottom-nav-wrap{padding:5px;bottom:calc(20px+env(safe-area-inset-bottom,0px));}.bottom-nav{gap:6px;}.nav-item{width:44px;height:44px;padding:0;justify-content:center;border-radius:50%;background:transparent;transition:background 0.25s var(--ease),color 0.25s var(--ease);}.nav-item .nav-label{display:none;}.nav-item .nav-icon{width:20px;height:20px;transition:transform 0.25s var(--ease-spring),color 0.25s var(--ease);}.nav-item.active .nav-icon{transform:scale(1.12);}.nav-item:hover{background:transparent;}.nav-item.active{background:transparent;color:#000;}body.light-mode .nav-item.active{background:transparent;color:#fff;}.nav-indicator{border-radius:50% !important;box-shadow:0 4px 14px rgba(255,184,0,0.3),0 2px 4px rgba(0,0,0,0.15);transition:transform 0.4s var(--ease-spring),width 0.3s var(--ease),height 0.3s var(--ease),opacity 0.2s var(--ease);}body.light-mode .nav-indicator{box-shadow:0 4px 12px rgba(0,0,0,0.15);}}@media (min-width:901px) and (max-width:1200px){:root{--col-left:48%;--col-right:52%;--col-pad-x:48px;}}body.has-custom-cursor,body.has-custom-cursor *,body.has-custom-cursor a,body.has-custom-cursor button,body.has-custom-cursor .nav-item,body.has-custom-cursor .social-btn,body.has-custom-cursor .lang-option,body.has-custom-cursor .btn-icon,body.has-custom-cursor .tool-item,body.has-custom-cursor .project-card,body.has-custom-cursor .lang-picker,body.has-custom-cursor .download-cv-btn,body.has-custom-cursor #theme-toggle,body.has-custom-cursor #lang-toggle{cursor:none !important;}.custom-cursor{display:none;position:fixed;height:var(--height,10px);width:var(--width,10px);left:var(--left,-100px);top:var(--top,-100px);pointer-events:none;z-index:99999;transform:translate(-50%,-50%) scale(var(--scale,1));transition:width 0.2s cubic-bezier(0.16,1,0.3,1),height 0.2s cubic-bezier(0.16,1,0.3,1),transform 0.1s ease-out;}body.has-custom-cursor .custom-cursor{display:block;}.custom-cursor.lock{transition:width 0.2s cubic-bezier(0.16,1,0.3,1),height 0.2s cubic-bezier(0.16,1,0.3,1),left 0.2s cubic-bezier(0.16,1,0.3,1),top 0.2s cubic-bezier(0.16,1,0.3,1),transform 0.1s ease-out;}.custom-cursor_dot{position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--accent);border-radius:var(--cursor-radius,50%);opacity:1;border:1.5px solid transparent;transform:translate(var(--translateX,0),var(--translateY,0));transition:opacity 0.2s ease,border-radius 0.2s ease,transform 0.1s ease-out,background-color 0.2s ease,border-color 0.2s ease;}.custom-cursor.lock .custom-cursor_dot{opacity:1;background-color:rgba(255,184,0,0.12);border:1.5px solid var(--accent);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;}body.has-custom-cursor a,body.has-custom-cursor button,body.has-custom-cursor .nav-item,body.has-custom-cursor .social-btn,body.has-custom-cursor .lang-option,body.has-custom-cursor .btn-icon{transform:scale(var(--scale,1));transition:transform 0.2s cubic-bezier(0.16,1,0.3,1),opacity 0.2s ease,background 0.2s ease,color 0.2s ease;}a:active,button:active,.nav-item:active,.social-btn:active,.lang-option:active,.btn-icon:active{transform:scale(0.95) !important;}html.loading,body.loading{overflow:hidden !important;height:100% !important;}.preloader{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:10000;background:rgba(8,8,8,0.82);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1),visibility 0.8s cubic-bezier(0.16,1,0.3,1);will-change:opacity,visibility;overflow:hidden;}html.light-mode .preloader,body.light-mode .preloader{background:rgba(246,242,234,0.85);}.preloader.fade-out{opacity:0;visibility:hidden;pointer-events:none;}.preloader-bg-ambient{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:0.6;transition:opacity 0.8s ease;}.preloader-glow{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform;}.preloader-glow-1{width:320px;height:320px;background:rgba(241,196,15,0.12);top:15%;left:10%;animation:preloader-float-1 8s ease-in-out infinite alternate;}.preloader-glow-2{width:380px;height:380px;background:rgba(232,160,32,0.08);bottom:15%;right:10%;animation:preloader-float-2 10s ease-in-out infinite alternate;}@keyframes preloader-float-1{0%{transform:translateY(0) scale(1);}100%{transform:translateY(30px) scale(1.15);}}@keyframes preloader-float-2{0%{transform:translateY(0) scale(1);}100%{transform:translateY(-40px) scale(1.1);}}.preloader-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;width:100%;max-width:290px;padding:0 24px;box-sizing:border-box;}.preloader-logo-wrap{width:clamp(140px,55vw,191px);aspect-ratio:191 / 63;height:auto;animation:preloader-pulse 2.5s ease-in-out infinite;}.preloader-logo{width:100%;height:100%;display:block;}@media (max-width:768px){.preloader{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}.preloader-glow-1{width:200px;height:200px;filter:blur(50px);top:20%;left:5%;}.preloader-glow-2{width:240px;height:240px;filter:blur(60px);bottom:20%;right:5%;}}.preloader-status-container{display:flex;align-items:center;justify-content:center;}.preloader-percentage{font-family:'Inter',sans-serif;font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:0.15em;text-transform:uppercase;}@keyframes preloader-pulse{0%,100%{transform:scale(1);opacity:0.95;filter:drop-shadow(0 0 0px rgba(241,196,15,0));}50%{transform:scale(1.025);opacity:1;filter:drop-shadow(0 0 20px rgba(241,196,15,0.22));}}body.lightbox-open{overflow:hidden !important;}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(10,10,10,0.7);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.4s cubic-bezier(0.25,1,0.5,1);}.lightbox-overlay.active{opacity:1;pointer-events:auto;}.lightbox-content{position:relative;max-width:85%;max-height:85%;display:flex;align-items:center;justify-content:center;transform:scale(0.95);transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1);}.lightbox-overlay.active .lightbox-content{transform:scale(1);}.lightbox-overlay.closing .lightbox-content{transform:scale(0.9);transition:transform 0.3s cubic-bezier(0.25,1,0.5,1);}.lightbox-img{max-width:100%;max-height:85vh;border-radius:16px;border:1px solid rgba(255,255,255,0.1);box-shadow:0 24px 80px rgba(0,0,0,0.7);object-fit:contain;cursor:zoom-out;}.lightbox-close{position:absolute;top:30px;right:30px;width:44px;height:44px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:#fff;border-radius:50%;font-size:24px;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s,border-color 0.2s,transform 0.2s;z-index:10002;box-shadow:0 4px 12px rgba(0,0,0,0.2);}.lightbox-close:hover{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.3);transform:scale(1.05);}.lightbox-close:active{transform:scale(0.95);}body.light-mode .lightbox-overlay{background:rgba(245,240,232,0.75);}body.light-mode .lightbox-close{background:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.12);color:var(--text);}body.light-mode .lightbox-close:hover{background:rgba(0,0,0,0.1);border-color:rgba(0,0,0,0.25);}body.light-mode .lightbox-img{border-color:rgba(0,0,0,0.08);box-shadow:0 24px 60px rgba(0,0,0,0.2);}@media (max-width:768px){.lightbox-close{top:16px;right:16px;width:40px;height:40px;font-size:20px;}.lightbox-content{max-width:95%;max-height:80%;}}@media (hover:none){a:hover,button:hover,.nav-item:hover,.social-btn:hover,.lang-option:hover,.btn-icon:hover,.tool-item:hover,.project-card:hover{transform:none !important;background:transparent !important;box-shadow:none !important;border-color:rgba(255,255,255,0.08) !important;color:var(--text-muted) !important;}body.light-mode a:hover,body.light-mode button:hover,body.light-mode .nav-item:hover,body.light-mode .social-btn:hover,body.light-mode .lang-option:hover,body.light-mode .btn-icon:hover,body.light-mode .tool-item:hover,body.light-mode .project-card:hover{border-color:rgba(0,0,0,0.08) !important;}.nav-item.active{color:#000 !important;}body.light-mode .nav-item.active{color:#fff !important;}}