@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.aboutMe-container{display:grid;grid-template-columns:1fr 1fr;gap:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;width:100%;margin:0;padding:0;animation:fadeInUp .6s ease-out;background-color:#000;color:#fff;border-top:1px solid rgba(255,255,255,.1)}.aboutMe-content{padding:60px 50px;border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;justify-content:center;gap:24px}.aboutMe-info{width:100%}.aboutMe-info p{font-size:clamp(28px,4vw,48px);font-weight:300;letter-spacing:-.02em;color:#fff;margin:0 0 12px;line-height:1.2}.aboutMe-image{padding:60px 50px;display:flex;align-items:center;justify-content:center;background-color:#1a1a1a;position:relative;min-height:320px}.aboutMe-image img{width:200px;height:200px;border-radius:50%;border:1px solid rgba(255,255,255,.2);object-fit:cover}.aboutMe-image-hidden{opacity:0}.aboutMe-image-loader{width:46px;height:46px;border-radius:50%;border:2px solid rgba(255,255,255,.2);border-top-color:#ffffffd9;animation:aboutMeSpin .8s linear infinite;position:absolute}@keyframes aboutMeSpin{to{transform:rotate(360deg)}}.aboutMe-lists-container{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(255,255,255,.1)}.aboutMe-list{padding:50px;border-right:1px solid rgba(255,255,255,.1);background-color:#1a1a1a}.aboutMe-list:last-child{border-right:none}.aboutMe-list ul{list-style:none;padding:0;margin:0}.aboutMe-list li{margin-bottom:24px;font-size:14px;line-height:1.8;color:#fff}.aboutMe-list li:last-child{margin-bottom:0}.aboutMe-list li strong{font-weight:500;display:block;margin-bottom:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.5;color:#ffffff80}.white-hr{display:none}@media(max-width:768px){.aboutMe-container{grid-template-columns:1fr}.aboutMe-content{padding:40px 24px;border-right:none;border-bottom:1px solid rgba(255,255,255,.1);text-align:center}.aboutMe-image{padding:40px 24px;min-height:240px}.aboutMe-image img{width:160px;height:160px}.aboutMe-lists-container{grid-template-columns:1fr;border-top:1px solid rgba(255,255,255,.1)}.aboutMe-list{padding:32px 24px;border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}.aboutMe-list:last-child{border-bottom:none}.aboutMe-list li{margin-bottom:20px;font-size:13px}}.aboutMe-certifications{grid-column:1 / -1;padding:50px;background-color:#0d0d0d;border-top:1px solid rgba(255,255,255,.1)}.aboutMe-certifications h3{margin:0 0 24px;font-size:24px;font-weight:500}.aboutMe-certifications-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.aboutMe-cert-card{background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px}.aboutMe-cert-card h4{margin:0 0 8px;font-size:18px}.aboutMe-cert-card p{margin:0 0 16px;font-size:14px;color:#ffffffb3}.aboutMe-cert-card ul{margin:0 0 16px;padding-left:18px}.aboutMe-cert-card li{margin-bottom:8px}.aboutMe-cert-card img{width:100%;max-height:240px;object-fit:contain;background:#111;border-radius:8px;border:1px solid rgba(255,255,255,.08);margin-bottom:12px}.aboutMe-cert-card img:last-child{margin-bottom:0}@media(max-width:768px){.aboutMe-certifications{padding:32px 24px}.aboutMe-certifications h3{font-size:20px}.aboutMe-certifications-grid{grid-template-columns:1fr;gap:16px}}.experience-container{display:grid;grid-template-columns:1fr 1fr;gap:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;width:100%;margin:0;padding:0;animation:fadeInUp .6s ease-out;background-color:#000;color:#fff;border-top:1px solid rgba(255,255,255,.1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section{width:100%;padding:60px 50px;border-right:1px solid rgba(255,255,255,.1);background-color:#1a1a1a}.section:last-child{border-right:none}.section:first-child{background-color:#000}.title{color:#fff;font-size:11px;font-weight:400;letter-spacing:.1em;margin-bottom:50px;text-transform:uppercase;opacity:.5}.content{display:flex;flex-direction:column;gap:50px}.item{padding-bottom:0;border-bottom:none;animation:fadeInLeft .5s ease-out backwards}.item:nth-child(1){animation-delay:.1s}.item:nth-child(2){animation-delay:.2s}.item:nth-child(3){animation-delay:.3s}.item:nth-child(4){animation-delay:.4s}.item:nth-child(5){animation-delay:.5s}.item:nth-child(6){animation-delay:.6s}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.subtitle{font-weight:400;font-size:clamp(18px,2.5vw,24px);letter-spacing:-.01em;color:#fff;margin-bottom:12px;line-height:1.4}.item>p:not(.subtitle){font-size:13px;color:#fff;opacity:.5;margin-bottom:20px;letter-spacing:.02em}.item-description{font-size:14px;color:#fffc;line-height:1.7;margin-bottom:20px;max-width:65ch}.technologies{display:flex;flex-wrap:wrap;gap:8px;margin-top:0}.technologies span{padding:6px 12px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;border:1px solid rgba(255,255,255,.3);color:#fff;background-color:transparent;transition:all .3s ease}.technologies span:hover{background-color:#fff;color:#000;border-color:#fff}.line{display:none}@media(max-width:768px){.experience-container{grid-template-columns:1fr}.section{padding:40px 24px;border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}.section:last-child{border-bottom:none}.title{font-size:10px;margin-bottom:32px}.content{gap:32px}.subtitle{font-size:18px;margin-bottom:8px}.item>p:not(.subtitle){font-size:12px;margin-bottom:16px}.item-description{font-size:11px;margin-bottom:16px}.technologies{gap:6px}.technologies span{padding:4px 10px;font-size:10px}}.stack-map{width:100%;border-top:1px solid rgba(255,255,255,.12);color:#f2f5f6;background:#000;padding-bottom:1rem}.stack-map-header{padding:1.6rem 0 1rem}.stack-map-header h2{margin:0;font-size:clamp(1.5rem,2.5vw,2rem)}.stack-map-header p{margin:.6rem 0 0;color:#dbe1e5cc}.stack-top-compact,.project-card{border:1px solid rgba(255,255,255,.12);background:#0a0a0a}.stack-top-compact{padding:1rem;margin-bottom:.9rem}.stack-top-compact h3{margin:0 0 .7rem;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#dbe1e5b8}.stack-tags{display:flex;flex-wrap:wrap;gap:.5rem}.stack-tag{padding:.22rem .55rem;border:1px solid rgba(255,255,255,.2);font-size:.74rem}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.project-card{padding:1rem;display:grid;gap:.7rem}.project-card h4{margin:0;font-size:1rem}.project-card p{margin:0;font-size:.82rem;color:#dbe1e5bf}.project-card button{width:fit-content;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:.35rem .7rem;cursor:pointer}.stack-modal-overlay{position:fixed;inset:0;background:#000000b8;display:grid;place-items:center;padding:1rem;z-index:90}.stack-modal{width:min(860px,100%);max-height:85vh;overflow:auto;background:#0a0a0a;border:1px solid rgba(255,255,255,.2);padding:1rem}.stack-modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.stack-modal-head h4{margin:0}.stack-modal-head button{border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;width:40px;height:40px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0;font-size:1.2rem}.modal-tags{gap:.6rem}@media(max-width:960px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.project-grid{grid-template-columns:1fr}}.fixed-footer{position:fixed;bottom:0;left:0;width:100%;background-color:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 0;text-align:center;z-index:100;border-top:1px solid rgba(255,255,255,.1)}.footer-content{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:1400px;margin:0 auto;padding:0 50px}.social-links{display:flex;justify-content:center;align-items:center;gap:22px}.social-links a{color:#fff;font-size:18px;transition:all .3s ease;opacity:.7}.social-links a:hover{opacity:1;transform:translateY(-2px)}.footer-info{display:flex;justify-content:center;align-items:center;gap:20px;font-size:12px;color:#fff9;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.footer-info a{color:#fff9;text-decoration:none;transition:opacity .3s ease}.footer-info a:hover{opacity:1;color:#fff}.fs-mobile{font-size:18px}@media(max-width:768px){.fixed-footer{padding:10px 0}.footer-content{padding:0 24px;gap:12px}.social-links{gap:24px}.social-links a{font-size:18px}.footer-info{font-size:12px;gap:16px;flex-wrap:wrap}}.projects-grid{width:100%;padding-bottom:72px;box-sizing:border-box}.production-projects-header h2{margin:0 0 1rem;font-size:clamp(2rem,4vw,3.4rem);color:#f3f6f8}.projects-vertical-slider{display:flex;flex-direction:column;border-top:1px solid rgba(211,220,224,.35);border-bottom:1px solid rgba(211,220,224,.35);max-height:calc(100dvh - clamp(200px,30vh,280px));overflow-y:auto;padding-bottom:0;scroll-padding-bottom:0}.projects-vertical-slider::-webkit-scrollbar{width:10px}.projects-vertical-slider::-webkit-scrollbar-track{background:#ffffff12;border-radius:999px}.projects-vertical-slider::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ebf1f5bf,#bec9d273);border-radius:999px;border:2px solid rgba(0,0,0,.55)}.projects-vertical-slider::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#f5f8fad9,#d1dce499)}.project-row{display:grid;grid-template-columns:30px minmax(200px,1.2fr) 104px 62px;align-items:center;gap:.75rem;padding:.42rem .4rem;text-decoration:none;color:#c7d0d6;border-bottom:1px solid rgba(211,220,224,.26);transition:background .2s ease,color .2s ease}.project-row:hover{background:#ffffff14;color:#fff}.project-row-left{font-size:.96rem;color:#e4eaef}.project-row-main p{margin:0;font-size:.96rem;font-weight:500;line-height:1.2}.project-row-main span{font-size:.76rem;color:#aab4bc;line-height:1.15}.project-row-year{text-align:right;font-size:.72rem;font-weight:700}.project-row-icon-wrap{width:42px;height:42px;border-radius:.65rem;background:#d9d9db;display:grid;place-items:center;overflow:hidden}.project-row-icon-wrap img{width:80%;height:80%;object-fit:contain}@media(max-width:900px){.projects-grid{padding-bottom:82px}.projects-vertical-slider{max-height:calc(100dvh - clamp(220px,34vh,320px))}.project-row{grid-template-columns:24px 1fr 74px 48px;gap:.4rem;padding:.4rem .3rem}.project-row-left{font-size:.84rem}.project-row-main p{font-size:.86rem}.project-row-main span{font-size:.7rem}.project-row-year{font-size:.66rem}.project-row-icon-wrap{width:36px;height:36px}}:root{color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:Roboto,sans-serif;font-weight:300;background:#2d3941;color:#dbe1e5}.jp-portfolio{min-height:100vh;width:min(1760px,100% - clamp(1.5rem,4vw,5rem));margin:0 auto;padding:1.2rem 0 2rem}.top-nav{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}.brand-star{font-size:2.7rem;line-height:1;color:#e6eaee;letter-spacing:.12em;font-weight:700}.section-nav{display:flex;gap:1.3rem;flex-wrap:wrap}.section-nav button,.language-switcher button{border:none;background:transparent;color:#aeb8be;font-size:1.05rem;font-weight:700;padding:0;cursor:pointer;letter-spacing:.02em}.section-nav button.active,.section-nav button:hover{color:#f4f7f8}.language-switcher button{padding:.2rem .45rem}.language-switcher button.active,.language-switcher button:hover{color:#0a0a0a;background:#fff}.language-switcher{margin-left:auto;display:flex;gap:.8rem}.intro-block{margin-top:3rem;max-width:980px}.intro-block p{margin:0;font-size:clamp(1rem,2vw,1.35rem);line-height:1.55;color:#cdd5da}.content-shell{margin-top:2.4rem;border-top:1px solid rgba(211,220,224,.2);padding-top:1.2rem;width:100%}@media(max-width:700px){.jp-portfolio{width:calc(100% - 1.5rem);padding-bottom:7.5rem}.section-nav{order:3;width:100%;gap:1rem}.section-nav button,.language-switcher button{font-size:.92rem}.intro-block{margin-top:2rem}}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;color:#fff;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#000;color:#fff}a{color:#fff;text-decoration:none;transition:opacity .3s ease}a:hover{opacity:.8}h1,h2,h3,h4,h5,h6{font-weight:500;letter-spacing:-.02em}button{font-family:inherit;cursor:pointer;border:1px solid #000000;background-color:transparent;color:#000;padding:12px 24px;font-size:14px;font-weight:400;transition:all .3s ease;letter-spacing:.02em}.content-container button{transition:background-color .3s ease,color .3s ease,transform .3s ease!important}button:hover{background-color:#000;color:#fff}button:focus,button:focus-visible{outline:1px solid #ffffff;outline-offset:2px}
