:root{--blue: #a8c4d4;--blue2: #c8dde8;--blue3: #deeef6;--blue-glow: rgba(168, 196, 212, .22);--blue-dim: rgba(168, 196, 212, .1);--pink: #d4a8b8;--pink2: #e8c8d4;--pink-glow: rgba(212, 168, 184, .18);--pink-dim: rgba(212, 168, 184, .08);--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Syne", sans-serif;--font-mono: "DM Mono", monospace;--r-sm: 10px;--r-md: 18px;--r-lg: 28px;--transition: .44s cubic-bezier(.25, 0, 0, 1);--transition-fast: .22s cubic-bezier(.25, 0, 0, 1)}[data-theme=dark]{--bg: #15171e;--bg2: #1b1d26;--bg3: #21242e;--surf: #191c24;--text: #e8eaf0;--text2: #9aa0b4;--text3: #545c70;--text4: #343b4a;--border: rgba(255, 255, 255, .07);--border2: rgba(255, 255, 255, .04);--glass: rgba(255, 255, 255, .05);--glass2: rgba(255, 255, 255, .09);--glass-shadow: rgba(0, 0, 0, .28);--nav-bg: rgba(21, 23, 30, .82);--side-bg: rgba(19, 21, 28, .98)}[data-theme=light]{--bg: #f2f3f6;--bg2: #eaebef;--bg3: #e0e2e8;--surf: #f8f9fb;--text: #1c1e24;--text2: #4a5060;--text3: #8890a0;--text4: #b8bfc8;--border: rgba(100, 115, 155, .28);--border2: rgba(100, 115, 155, .14);--glass: rgba(255, 255, 255, .76);--glass2: rgba(255, 255, 255, .97);--glass-shadow: rgba(70, 90, 145, .13);--nav-bg: rgba(242, 243, 246, .92);--side-bg: rgba(248, 249, 251, .99)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);overflow-x:hidden;cursor:none;transition:background .5s,color .5s;min-height:100vh}#bg-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}#grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.02;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.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px}#app{position:relative;z-index:2;padding-top:62px}.page{display:none;min-height:100vh;animation:pageIn .55s cubic-bezier(.25,0,0,1) both}.page.active{display:block}@keyframes pageIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.page-header{padding:60px 52px 44px;border-bottom:1px solid var(--border);display:flex;align-items:flex-end;justify-content:space-between}.page-title{font-family:var(--font-serif);font-weight:300;font-size:clamp(38px,5vw,66px);line-height:.95;letter-spacing:-.02em}.page-title em{font-style:italic;color:var(--blue)}.page-count{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;color:var(--text4);padding-bottom:6px}.page-footer{padding:26px 52px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--text4);background:var(--nav-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.page-footer .footer-logo{font-family:var(--font-serif);font-size:17px;font-style:italic;font-weight:300;color:var(--text)}.glass{background:var(--glass);border:1px solid var(--border);border-radius:var(--r-lg);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);box-shadow:0 4px 24px var(--glass-shadow),inset 0 1px #ffffff17;transition:all var(--transition);position:relative;overflow:hidden}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.07) 0%,transparent 55%);pointer-events:none}[data-theme=light] .glass{box-shadow:0 4px 28px var(--glass-shadow),inset 0 1px #ffffffd9}[data-theme=light] .glass:before{background:linear-gradient(135deg,rgba(255,255,255,.55) 0%,transparent 55%)}.glass:hover{transform:translateY(-4px);border-color:#a8c4d442;box-shadow:0 14px 52px var(--glass-shadow),inset 0 1px #ffffff24}.btn{font-family:var(--font-mono);font-size:10px;letter-spacing:.19em;text-transform:uppercase;padding:13px 28px;border-radius:4px;border:none;cursor:pointer;text-decoration:none;display:inline-block;transition:all var(--transition)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 4px 22px #a8c4d447}.btn-primary:hover{background:var(--blue2);transform:translateY(-2px);box-shadow:0 8px 32px #a8c4d461}.btn-ghost{background:var(--glass);color:var(--text2);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-ghost:hover{background:var(--glass2);color:var(--text);transform:translateY(-2px)}.tag-list{display:flex;gap:7px;flex-wrap:wrap}.tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:4px 11px;background:var(--glass);border:1px solid var(--border);border-radius:3px;color:var(--text3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--transition-fast)}.tag:hover{border-color:#a8c4d44d;color:var(--blue)}.eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--blue);display:flex;align-items:center;gap:14px}.eyebrow:before{content:"";display:block;width:22px;height:1px;background:var(--blue)}.section-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--text4)}.skill-dots{display:flex;gap:5px}.skill-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:all var(--transition-fast)}.skill-dot.filled{background:var(--blue3)}[data-theme=dark] .skill-dot.filled{background:#a8c4d457}.skill-row:hover .skill-dot.filled{background:var(--blue);box-shadow:0 0 6px var(--blue-glow)}@media (max-width: 860px){.page-header{padding:36px 22px}#app{padding-top:62px}}#cursor-dot{position:fixed;z-index:9999;pointer-events:none;width:9px;height:9px;border-radius:50%;background:var(--blue);transform:translate(-50%,-50%);transition:width .18s,height .18s,background .2s;box-shadow:0 0 0 2px #a8c4d440}#cursor-ring{position:fixed;z-index:9998;pointer-events:none;width:34px;height:34px;border-radius:50%;border:1px solid rgba(168,196,212,.35);transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s}body.cursor-hover #cursor-dot{width:16px;height:16px;background:var(--pink)}body.cursor-hover #cursor-ring{width:50px;height:50px;border-color:#d4a8b866}#shape-tooltip{position:fixed;z-index:500;pointer-events:none;font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--text2);background:var(--glass2);border:1px solid var(--border);border-radius:8px;padding:5px 10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;white-space:nowrap}#shape-tooltip.show{opacity:1;transform:translateY(0)}@media (hover: none) and (pointer: coarse){body{cursor:auto}#cursor-dot,#cursor-ring{display:none!important}}#loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transition:opacity 1.4s cubic-bezier(.4,0,.2,1)}#loading-screen.fade-out{opacity:0;pointer-events:none}#flower-canvas{display:block}#loading-name{font-family:var(--font-serif);font-size:clamp(16px,2.2vw,26px);font-weight:300;letter-spacing:.5em;text-transform:uppercase;color:var(--text3);white-space:nowrap;opacity:0;transform:scale(.88) translateY(6px);transition:opacity 1.8s cubic-bezier(.4,0,.2,1),transform 1.8s cubic-bezier(.25,0,0,1);text-align:center;margin-top:4px}#loading-name.show{opacity:1;transform:scale(1) translateY(0)}#loading-line-wrap{width:110px;height:1px;background:var(--border)}#loading-line{height:100%;width:0%;background:linear-gradient(to right,var(--pink),var(--blue));transition:width .06s linear}#top-nav{position:fixed;top:0;left:0;right:0;z-index:100;height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;background:var(--nav-bg);border-bottom:1px solid var(--border);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);transition:background .5s}#nav-logo{font-family:var(--font-serif);font-size:19px;font-weight:300;font-style:italic;color:var(--text);cursor:pointer;letter-spacing:.02em;white-space:nowrap}#nav-logo .logo-accent{color:var(--blue)}#nav-pills{display:flex;gap:2px;background:var(--glass);border:1px solid var(--border);border-radius:40px;padding:4px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav-pill{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text3);padding:7px 18px;border-radius:36px;border:none;background:transparent;cursor:pointer;transition:all var(--transition);white-space:nowrap}.nav-pill:hover{color:var(--text)}.nav-pill.active{background:var(--glass2);color:var(--text);box-shadow:0 2px 14px var(--glass-shadow),inset 0 1px #ffffff26}#nav-right{display:flex;align-items:center;gap:14px}#status-badge{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--text3)}#status-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 8px var(--blue-glow);animation:statusPulse 2.5s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}#theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}#toggle-track{width:38px;height:21px;border-radius:11px;background:var(--glass2);border:1px solid var(--border);position:relative;transition:background var(--transition)}#toggle-thumb{position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--blue));transition:transform var(--transition);box-shadow:0 2px 6px #0003}[data-theme=light] #toggle-thumb{transform:translate(17px)}#hamburger{width:38px;height:38px;border-radius:10px;background:var(--glass);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition)}#hamburger:hover{background:var(--glass2);border-color:#a8c4d440}#hamburger span{display:block;width:16px;height:1px;background:var(--text2);border-radius:1px;transition:all var(--transition)}#hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}#hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}#hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}#side-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:190;background:#0000;pointer-events:none;transition:background .45s}#side-overlay.visible{background:#0000002e;pointer-events:all}[data-theme=light] #side-overlay.visible{background:#b4b9c840}#side-menu{position:fixed;top:0;right:0;bottom:0;z-index:200;width:300px;background:var(--side-bg);border-left:1px solid var(--border);backdrop-filter:blur(32px) saturate(160%);-webkit-backdrop-filter:blur(32px) saturate(160%);transform:translate(100%);transition:transform .52s cubic-bezier(.25,0,0,1);display:flex;flex-direction:column;padding:96px 40px 48px}#side-menu.open{transform:translate(0)}#side-nav-items{display:flex;flex-direction:column;flex:1}.side-nav-item{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--border2);cursor:pointer;transition:all var(--transition)}.side-nav-item:first-child{border-top:1px solid var(--border2)}.side-nav-item:hover .side-item-label{color:var(--text);transform:translate(6px)}.side-nav-item:hover .side-item-num{color:var(--blue)}.side-item-num{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;color:var(--text4);width:28px;flex-shrink:0;transition:color var(--transition)}.side-item-label{font-family:var(--font-serif);font-size:26px;font-weight:300;color:var(--text2);transition:all var(--transition)}.side-nav-item.active .side-item-label{color:var(--blue);font-style:italic}.side-nav-item.active .side-item-num{color:var(--blue)}#side-footer{margin-top:24px}.side-footer-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text4);margin-bottom:14px}#side-contacts{display:flex;gap:10px;flex-wrap:wrap}.side-contact-link{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text3);text-decoration:none;padding:7px 14px;border:1px solid var(--border);border-radius:3px;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--transition)}.side-contact-link:hover{color:var(--blue);border-color:#a8c4d44d}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:80px 52px 60px;min-height:calc(100vh - 62px);gap:0}.hero-left{padding-right:52px}.hero-right{position:relative;display:flex;align-items:center;justify-content:center;height:100%;min-height:420px}.hero-3d-hint{position:absolute;bottom:16px;right:0;font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--text4)}.hero-name{font-family:var(--font-serif);font-weight:300;font-size:clamp(44px,5.8vw,84px);line-height:.95;letter-spacing:-.02em;color:var(--text);white-space:nowrap;margin-bottom:4px}.hero-lastname{font-family:var(--font-serif);font-weight:300;font-style:italic;font-size:clamp(44px,5.8vw,84px);line-height:.95;letter-spacing:-.02em;color:var(--blue);white-space:nowrap;margin-bottom:28px}.hero-desc{font-size:14px;font-weight:300;color:var(--text2);line-height:1.82;max-width:320px;margin-bottom:44px;padding-left:16px;border-left:1.5px solid var(--pink2)}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.home-preview{padding:44px 52px 68px;border-top:1px solid var(--border)}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.preview-card{padding:26px;cursor:pointer}.preview-card-num{font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:13px}.preview-card-name{font-family:var(--font-serif);font-size:20px;font-weight:300;color:var(--text);margin-bottom:7px;line-height:1.15}.preview-card-sub{font-size:12px;font-weight:300;color:var(--text3);line-height:1.7;margin-bottom:16px}.preview-card-link{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;transition:gap var(--transition)}.preview-card-link:after{content:"→"}.preview-card:hover .preview-card-link{gap:14px}.project-section{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border);min-height:500px}.project-section:last-child{border-bottom:none}.project-section.reversed .project-info{order:2}.project-section.reversed .project-media{order:1;border-left:none;border-right:1px solid var(--border)}.project-info{padding:56px 52px;display:flex;flex-direction:column;justify-content:center}.project-index{font-family:var(--font-mono);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--text4);margin-bottom:18px}.project-title{font-family:var(--font-serif);font-weight:300;font-size:clamp(28px,3vw,46px);line-height:1.05;color:var(--text);margin-bottom:12px}.project-title em{font-style:italic;color:var(--blue)}.project-role{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-bottom:18px}.project-short-desc{font-size:13px;font-weight:300;color:var(--text2);line-height:1.82;max-width:350px;margin-bottom:20px}.project-expand-btn{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);background:transparent;border:none;cursor:pointer;padding:0;margin-bottom:24px;display:inline-flex;align-items:center;gap:8px;transition:gap var(--transition)}.project-expand-btn:after{content:"→ read more"}.project-expand-btn.expanded:after{content:"← collapse"}.project-expand-btn:hover{gap:14px}.project-full-desc{font-size:13px;font-weight:300;color:var(--text2);line-height:1.82;max-width:350px;margin-bottom:20px;max-height:0;overflow:hidden;transition:max-height .55s cubic-bezier(.25,0,0,1)}.project-full-desc.open{max-height:600px}.project-link{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:10px;transition:gap var(--transition)}.project-link:after{content:"→"}.project-link:hover{gap:16px}.project-media{background:var(--bg2);border-left:1px solid var(--border);padding:40px 36px;display:flex;flex-direction:column;justify-content:center;gap:16px;position:relative}.photo-stack{position:relative;height:240px;margin-bottom:8px}.stack-photo{position:absolute;width:180px;height:200px;border-radius:var(--r-md);background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:40px;cursor:pointer;transition:all .4s cubic-bezier(.25,0,0,1);box-shadow:0 8px 32px var(--glass-shadow)}.stack-photo:nth-child(1){left:0;top:20px;transform:rotate(-4deg);z-index:1}.stack-photo:nth-child(2){left:40px;top:10px;transform:rotate(2deg);z-index:2}.stack-photo:nth-child(3){left:80px;top:30px;transform:rotate(-1deg);z-index:3}.stack-photo:nth-child(4){left:120px;top:5px;transform:rotate(3deg);z-index:4}.stack-photo:hover{transform:rotate(0) translateY(-12px) scale(1.04);z-index:10;box-shadow:0 24px 48px var(--glass-shadow)}.stack-view-btn{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text4);margin-top:8px;cursor:pointer;transition:color var(--transition)}.stack-view-btn:hover{color:var(--blue)}.model-card{height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.pistol-viewer{height:320px;padding:0;position:relative;overflow:hidden}.pistol-viewer canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important}.pistol-viewer .model-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:2;pointer-events:none}.model-crystal{width:96px;height:96px;animation:crystalFloat 6.5s ease-in-out infinite}@keyframes crystalFloat{0%,to{transform:rotateY(0) rotateX(8deg) translateY(0)}33%{transform:rotateY(28deg) rotateX(14deg) translateY(-10px)}66%{transform:rotateY(-20deg) rotateX(3deg) translateY(-5px)}}.model-hint{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text4)}.roadmap-wrap{padding:60px 52px 80px;max-width:680px}.timeline-item{display:grid;grid-template-columns:56px 1fr}.timeline-spine{display:flex;flex-direction:column;align-items:center;padding-top:5px}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--bg3);border:2px solid var(--border);transition:all var(--transition);flex-shrink:0;z-index:1}.timeline-item:hover .timeline-dot{background:var(--blue);border-color:var(--blue);box-shadow:0 0 14px var(--blue-glow)}.timeline-line{width:1px;flex:1;background:var(--border);min-height:52px;margin:4px 0}.timeline-item:last-child .timeline-line{display:none}.timeline-content{padding:0 0 48px 22px}.timeline-year{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}.timeline-title{font-family:var(--font-serif);font-size:19px;font-weight:300;color:var(--text);margin-bottom:4px;line-height:1.15}.timeline-subtitle{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;color:var(--text3);line-height:1.72;white-space:pre-line}.skills-grid{padding:60px 52px 80px;display:grid;grid-template-columns:repeat(2,1fr);gap:48px 80px}.skill-group-title{font-family:var(--font-mono);font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--blue);margin-bottom:28px}.skill-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border);cursor:default;transition:padding var(--transition)}.skill-row:first-of-type{border-top:1px solid var(--border)}.skill-row:hover{padding-left:10px}.skill-name{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--text2);transition:color var(--transition)}.skill-row:hover .skill-name{color:var(--blue)}.certs-layout{display:grid;grid-template-columns:1fr 1.5fr;min-height:calc(100vh - 200px)}.certs-grid-panel{padding:52px 44px;background:var(--bg2)}.certs-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:24px}.cert-card{padding:26px;cursor:pointer;position:relative}.cert-card:hover{transform:translateY(-4px) translate(3px)}.cert-thumb{width:100%;height:80px;border-radius:8px;overflow:hidden;margin-bottom:14px;border:1px solid var(--border);box-shadow:0 2px 10px var(--glass-shadow);transition:all var(--transition)}.cert-thumb-empty{background:var(--glass2);display:flex;align-items:center;justify-content:center}.cert-has-image{cursor:zoom-in}.cert-card:hover .cert-thumb{box-shadow:0 4px 20px var(--blue-glow);border-color:#a8c4d447}.cert-name{font-family:var(--font-serif);font-size:16px;font-weight:300;color:var(--text);margin-bottom:4px;line-height:1.2}.cert-issuer{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--text4)}.cert-arrow{position:absolute;bottom:20px;right:20px;font-size:12px;color:var(--text4);transition:all var(--transition)}.cert-card:hover .cert-arrow{color:var(--blue);transform:translate(4px)}.cert-add-placeholder{padding:26px;border:1px dashed var(--border);border-radius:var(--r-lg);opacity:.4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text4);text-align:center;min-height:140px}.about-layout{padding:60px 52px 80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.about-text p{font-size:15px;font-weight:300;color:var(--text2);line-height:1.85;margin-bottom:20px}.about-text p em{color:var(--blue);font-style:normal;font-weight:400}.about-buttons{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}#lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0000004d;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);display:none;align-items:center;justify-content:center;flex-direction:column;gap:18px}[data-theme=light] #lightbox{background:#e6e8f08c}#lightbox.open{display:flex}.lightbox-box{width:520px;max-width:88vw;max-height:86vh;border-radius:var(--r-lg);background:var(--glass2);border:1px solid var(--border);box-shadow:0 32px 80px #0003,inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;position:relative;padding:22px 16px;overflow:hidden}.lightbox-content{font-size:72px;line-height:1;pointer-events:none;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;overflow:hidden;max-height:calc(86vh - 90px);width:100%}.lightbox-content img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;display:block}.lightbox-caption{font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;color:var(--text3);text-transform:uppercase}.lightbox-counter{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;color:var(--text4)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;padding:0 12px;pointer-events:none;z-index:20}.lightbox-btn{width:36px;height:36px;border-radius:50%;background:var(--glass2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:all;font-size:14px;color:var(--text2);transition:all var(--transition);z-index:20;position:relative;flex-shrink:0}.lightbox-btn:hover{background:var(--glass2);color:var(--blue);transform:scale(1.1)}.lightbox-close{font-family:var(--font-mono);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--text4);cursor:pointer;transition:color var(--transition)}.lightbox-close:hover{color:var(--blue)}[data-theme=light] .glass{background:#ffffffd1;border-color:#6e7da538;box-shadow:0 2px 18px #465a911a,0 0 0 1px #6e7da524,inset 0 1px #fffffff2}[data-theme=light] .glass:before{background:linear-gradient(135deg,rgba(255,255,255,.72) 0%,transparent 55%)}[data-theme=light] .glass:hover{background:#ffffffeb;border-color:#6e7da561;box-shadow:0 8px 36px #465a9124,0 0 0 1px #6e7da538,inset 0 1px #fffffffa}[data-theme=light] .project-media{background:#dde0e8}[data-theme=light] .skill-dot.filled{background:var(--blue)}[data-theme=light] .timeline-dot{border-color:#69789e66}[data-theme=light] .cert-icon{background:#ebf0fcf2;border-color:#6e7da538}[data-theme=light] .stack-photo{background:#d8dbe4;border-color:#6e7da533}[data-theme=light] #loading-screen{background:var(--bg)}[data-theme=light] #lightbox{background:#c3c8da9e}[data-theme=light] .lightbox-box{background:#fafbfffa;border-color:#6e7da540;box-shadow:0 32px 80px #465a9129,inset 0 1px #ffffffe6}@media (max-width: 860px){#top-nav{padding:0 18px}#nav-pills{display:none}.hero{grid-template-columns:1fr;padding:56px 22px 40px}.hero-right{display:none}.home-preview{padding:36px 22px}.preview-grid,.project-section{grid-template-columns:1fr}.project-section.reversed .project-info{order:0}.project-section.reversed .project-media{order:0;border-right:none}.project-media{border-left:none;border-top:1px solid var(--border);padding:32px 22px}.certs-layout,.certs-grid{grid-template-columns:1fr}.about-layout{grid-template-columns:1fr;gap:36px}.skills-grid{grid-template-columns:1fr;padding:40px 22px}.roadmap-wrap{padding:40px 22px}.page-footer{flex-direction:column;gap:8px;text-align:center;padding:20px}#side-menu{width:260px}}@media (min-width: 861px) and (max-width: 1120px){#top-nav{padding:0 28px}.hero{padding:64px 32px 48px}.hero-left{padding-right:32px}.home-preview{padding:40px 32px}.preview-grid{gap:10px}.project-info{padding:44px 32px}.about-layout{padding:52px 32px 64px;gap:48px}.skills-grid{padding:52px 32px}.roadmap-wrap{padding:48px 32px}.certs-grid-panel,.certs-layout>:first-child{padding:44px 28px}.page-footer{padding:22px 32px}}@media (min-width: 1440px){#top-nav{padding:0 72px}.hero{padding:100px 80px 72px}.hero-left{padding-right:72px}.home-preview{padding:56px 80px 80px}.project-info{padding:72px 80px}.about-layout{padding:72px 80px 96px}.page-footer{padding:32px 80px}}@media (max-width: 440px){#top-nav{padding:0 12px}#status-badge{display:none}#nav-logo{font-size:16px}.hero{padding:48px 14px 32px}.hero-name,.hero-lastname{font-size:clamp(30px,9vw,46px)}.hero-desc{font-size:13px;margin-bottom:30px}.home-preview,.project-info,.certs-grid-panel,.about-layout,.skills-grid,.roadmap-wrap{padding:28px 14px}.certs-grid{grid-template-columns:1fr}.page-footer{padding:16px 14px;font-size:9px}#side-menu{width:100vw}.side-item-label{font-size:22px}}
