@font-face{font-family:Minecraft;font-style:normal;font-weight:400;src:url(/fonts/Minecraft.woff)format("woff"),local(Minecraft);font-display:swap}*{box-sizing:border-box;margin:0;padding:0}:root{--font-mc:"Minecraft", "Silkscreen", "Press Start 2P", monospace;--font-sans:"Outfit", sans-serif;--bg:#141414;--bg-elevated:#1a1a1a;--bg-card:#1e1e1e;--bg-nav:#0a0a0a;--border:#ffffff14;--border-subtle:#ffffff0f;--text:#f0f0f0;--text-muted:#a0a0a0;--text-dim:#606060;--green:#6ab84a;--green-bright:#86d562;--green-dim:#86d5621a;--green-dim-strong:#86d56229;--slide-duration:.8s;--max-w:1240px;--work-color:#86d562;--work-color-dim:#86d56224;--work-color-dark:#3a6b25}html{scroll-behavior:auto}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}::selection{background:var(--green-bright);color:#000}.protected-image{pointer-events:auto;-webkit-user-select:auto;user-select:auto}.opening{z-index:9999;image-rendering:pixelated;background-color:#15110d;background-image:url(/mc_dirt_seamless.png);background-repeat:repeat;background-size:64px 64px;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:fixed;inset:0;overflow:hidden}.opening.done{opacity:0;pointer-events:none}.mc-load-wrap{-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.mc-load-percent{font-family:var(--font-mc);color:#fff;text-shadow:2px 2px #3f3f3f;letter-spacing:.05em;font-size:16px;line-height:1}.mc-load-box{background:#000;justify-content:center;align-items:center;width:96px;height:96px;display:flex}#mcChunkCanvas{width:96px;height:96px;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.door{z-index:9998;pointer-events:none;display:flex;position:fixed;inset:0}.door-panel{background:#0a0a0a;flex:1;transition:transform 1.2s cubic-bezier(.76,0,.24,1);transform:translate(0)}.door.open .door-panel.left{transform:translate(-100%)}.door.open .door-panel.right{transform:translate(100%)}.scroll-progress{background:linear-gradient(90deg, var(--green), var(--green-bright));z-index:1000;width:0%;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}nav{z-index:100;opacity:0;background:var(--bg-nav);border-bottom:1px solid var(--border);height:64px;transition:opacity .8s;position:fixed;top:0;left:0;right:0}nav.visible{opacity:1}.nav-inner{height:100%;max-width:var(--max-w);justify-content:space-between;align-items:center;margin:0 auto;padding:0 2rem;display:flex}.nav-logo{font-family:var(--font-mc);color:#fff;letter-spacing:.04em;cursor:pointer;align-items:center;gap:.75rem;font-size:1.15rem;text-decoration:none;transition:color .2s;display:inline-flex}.nav-logo-img{object-fit:cover;flex-shrink:0;width:34px;height:34px;transition:transform .25s;display:block;box-shadow:none!important;border:none!important;border-radius:0!important;outline:none!important}.nav-logo:hover .nav-logo-img{transform:scale(1.08);box-shadow:none!important;border:none!important;border-radius:0!important;outline:none!important}.nav-logo:hover{color:var(--green-bright)}.nav-links{align-items:center;gap:.25rem;height:100%;list-style:none;display:flex}.nav-links a{font-family:var(--font-sans);color:var(--text-muted);border-radius:4px;padding:.4rem .75rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .15s}.nav-links a:hover{color:var(--text);background:#ffffff0d}.nav-right{align-items:center;gap:.75rem;display:flex}.lang-switcher{gap:.25rem;display:flex}.lang-btn{border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mc);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border-radius:4px;padding:.35rem .65rem;font-size:.85rem;transition:all .15s}.lang-btn:hover{color:var(--text);border-color:#fff3}.lang-btn.active{background:var(--green-bright);color:#000;border-color:var(--green-bright)}.nav-time{font-family:var(--font-sans);color:var(--text-dim);border-left:1px solid var(--border);padding-left:.75rem;font-size:.85rem;font-weight:400}.hero{text-align:center;min-height:100vh;max-width:var(--max-w);flex-direction:column;justify-content:center;align-items:center;margin:0 auto;padding:64px 3rem 0;display:flex;position:relative;overflow:hidden}body>section.hero,main>section.hero{max-width:none;padding-left:max(3rem, calc((100vw - var(--max-w)) / 2 + 3rem));padding-right:max(3rem, calc((100vw - var(--max-w)) / 2 + 3rem));background-color:#0c0c0c;background-image:radial-gradient(circle at 50% 48%,#0a0a0ad1 0%,#0c0c0ca6 55%,#0e0e0ee6 100%),linear-gradient(#0a0a0a73 0%,#0e0e0e40 50%,#141414f2 88%,#141414 100%),url(https://www.minecraft.net/content/dam/minecraftnet/games/minecraft/key-art/MCD2_JPKVwPreOrder_Homepage_1920x1080.jpg);background-position:50%,50%,top;background-repeat:no-repeat;background-size:cover,cover,cover}.hero-tag{font-family:var(--font-mc);color:var(--green-bright);letter-spacing:.14em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0abf;border:1px solid #86d56259;border-radius:30px;align-items:center;gap:.6rem;width:fit-content;margin:0 auto 2rem;padding:.5rem 1.1rem;font-size:.85rem;display:inline-flex;overflow:hidden;box-shadow:0 4px 15px #0006}.hero-tag span{animation:1s cubic-bezier(.76,0,.24,1) .3s forwards slideUp;display:inline-block;transform:translateY(100%)}.hero-name{font-family:var(--font-mc);letter-spacing:.02em;text-align:center;text-shadow:0 4px 24px #000000d9,0 2px 4px #000000e6;margin-bottom:1.5rem;font-size:clamp(2.8rem,6.5vw,5.5rem);line-height:1.15}.hero-name .line{display:block;overflow:hidden}.hero-name .line span{animation:1.2s cubic-bezier(.76,0,.24,1) forwards slideUp;display:inline-block;transform:translateY(110%)}.hero-name .line:first-child span{animation-delay:.5s}.hero-name .line:nth-child(2) span{animation-delay:.65s}.hero-name .line:nth-child(3) span{color:var(--green-bright);text-shadow:0 0 35px #86d56280,0 4px 24px #000000d9;animation-delay:.8s}.hero-meta{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;width:100%;margin-top:2.5rem;display:flex}.hero-description{text-align:center;max-width:580px;font-family:var(--font-sans);color:#d0d0d0;opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-shadow:0 1px 4px #000000b3;background:#0e0e0ea6;border:1px solid #ffffff14;border-radius:8px;margin:0 auto;padding:1.2rem 1.6rem;font-size:1.1rem;font-weight:400;line-height:1.7;animation:1.2s 1s forwards fadeIn;box-shadow:0 8px 30px #00000080}.hero-description strong{color:var(--text);font-weight:600}.hero-description .accent{color:var(--green-bright)}.hero-scroll{font-family:var(--font-mc);color:#e0e0e0;letter-spacing:.08em;text-transform:uppercase;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e0e0ea6;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.8rem;animation:1.2s 1.2s forwards fadeIn;display:flex}.hero-scroll:before{content:"↓";color:var(--green-bright);animation:1.4s ease-in-out infinite heroBlink}@keyframes heroBlink{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.3;transform:translateY(4px)}}.hero-corner{font-family:var(--font-sans);color:#b0b0b0;letter-spacing:.06em;text-transform:uppercase;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e0e0eb3;border:1px solid #ffffff1a;border-radius:6px;padding:.65rem .95rem;font-size:.8rem;font-weight:500;line-height:1.8;animation:1s 1.4s forwards fadeIn;position:absolute;box-shadow:0 4px 16px #0006}.hero-corner.top-right{text-align:right;top:8rem;right:3rem}.hero-corner.bottom-left{bottom:2rem;left:3rem}.pixel-divider{background:var(--border-subtle);height:1px;margin:0}.marquee{border-top:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;background:#0f0f0f;padding:1.25rem 0;overflow:hidden}.marquee-track{animation:35s linear infinite marquee;display:inline-block}.marquee-item{font-family:var(--font-mc);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-right:2rem;font-size:clamp(.95rem,1.4vw,1.2rem);display:inline-block}.marquee-item .accent{color:var(--green-bright)}.marquee-dot{background:var(--green-bright);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin:0 2rem;display:inline-block}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}section{max-width:var(--max-w);margin:0 auto;padding:8rem 3rem;position:relative}main>section,main>.marquee,main>.pixel-divider{max-width:none}main>section>*,main>section .section-header,main>section .about-grid,main>section .education-grid,main>section .skills-list,main>section .experience-list,main>section .contact-label,main>section .contact-heading,main>section .contact-cta,main>section .contact-info{max-width:var(--max-w);margin-left:auto;margin-right:auto}.section-header{border-bottom:1px solid var(--border);flex-direction:column;gap:.5rem;margin-bottom:4rem;padding-bottom:2rem;display:flex}.section-number{font-family:var(--font-mc);color:var(--green-bright);letter-spacing:.14em;text-transform:uppercase;font-size:.85rem}.section-title{font-family:var(--font-mc);color:var(--text);letter-spacing:.03em;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.2}.section-title .accent{color:var(--green-bright)}.about-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:5rem;display:grid}.about-text{font-family:var(--font-sans);color:var(--text-muted);font-size:1.1rem;font-weight:400;line-height:1.7}.about-text p{margin-bottom:1.5rem}.about-text .accent{color:var(--green-bright)}.about-text .underline{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--green-bright);text-decoration-color:var(--green-bright);text-underline-offset:3px}.about-image-wrap{aspect-ratio:4/5;border:1px solid var(--border);border-radius:8px;position:relative;overflow:hidden}.about-image-wrap:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(135deg,#86d5620f,#0003);transition:opacity .4s;position:absolute;inset:0}.about-image-wrap:hover:before{opacity:.5}.about-image-wrap img{object-fit:cover;object-position:center top;width:100%;height:100%;transition:transform .6s;display:block}.about-image-wrap:hover img{transform:scale(1.04)}.about-image-caption{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--border);font-family:var(--font-sans);color:var(--text-muted);letter-spacing:.06em;z-index:3;background:#000000bf;justify-content:space-between;padding:.6rem .9rem;font-size:.8rem;font-weight:500;display:flex;position:absolute;bottom:0;left:0;right:0}.tech-stack{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:2rem;display:grid}.tech-stack li{font-family:var(--font-sans);color:var(--text-muted);border:1px solid var(--border);background:var(--bg-card);border-radius:6px;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.9rem;font-weight:500;list-style:none;transition:all .15s;display:flex}.tech-stack li:before{content:"▸";color:var(--green-bright);flex-shrink:0;font-size:.75rem}.tech-stack li:hover{background:var(--green-dim);color:var(--text);border-color:#86d5624d;transform:translate(2px)}#education{background:#1a1a1a;max-width:none}#education>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}.education-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.edu-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:8px;flex-direction:column;align-items:center;padding:2rem 1.5rem;transition:all .25s;display:flex;position:relative;overflow:hidden}.edu-card:before{content:"";background:var(--green-bright);border-radius:2px 2px 0 0;height:2px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.edu-card:hover:before{transform:scaleX(1)}.edu-card:hover{border-color:#86d56240;transform:translateY(-6px);box-shadow:0 20px 40px #0000004d,0 0 0 1px #86d5621a}.edu-logo-wrap{border:1px solid var(--border);background:#141414;border-radius:8px;justify-content:center;align-items:center;width:90px;height:90px;margin-bottom:1.5rem;padding:.5rem;display:flex}.edu-logo-wrap img{object-fit:contain;width:100%;height:100%;transition:transform .3s}.edu-card:hover .edu-logo-wrap img{transform:scale(1.08)}.edu-level{font-family:var(--font-mc);color:var(--green-bright);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.6rem;font-size:.8rem}.edu-name{font-family:var(--font-mc);color:var(--text);letter-spacing:.02em;margin-bottom:.5rem;font-size:1.05rem;line-height:1.4}.edu-name .accent{color:var(--green-bright)}.edu-link{color:var(--text);text-decoration:none;transition:color .2s}.edu-link:hover{color:var(--green-bright)}.edu-divider{background:var(--green-bright);opacity:.5;width:32px;height:1px;margin:1rem 0}.edu-detail{font-family:var(--font-sans);color:var(--text-muted);font-size:.9rem;font-weight:400;line-height:1.6}.edu-detail .highlight{color:var(--text);font-weight:600}.edu-year{font-family:var(--font-sans);color:var(--text-dim);border:1px solid var(--border);background:#ffffff0a;border-radius:4px;margin-top:1rem;padding:.3rem .6rem;font-size:.8rem;font-weight:500}.skills-list{flex-direction:column;display:flex}.skill-item{border-top:1px solid var(--border-subtle);cursor:default;border-radius:0;grid-template-columns:60px 1fr 2fr 140px;align-items:center;gap:2rem;padding:1.75rem 1rem;transition:all .2s;display:grid}.skill-item:last-child{border-bottom:1px solid var(--border-subtle)}.skill-item:hover{background:linear-gradient(90deg, var(--green-dim), transparent);border-top-color:#86d56233;padding-left:1.5rem}.skill-number{font-family:var(--font-mc);color:var(--green-bright);background:var(--green-dim);text-align:center;border:1px solid #86d56233;border-radius:4px;padding:.3rem .5rem;font-size:.85rem}.skill-name{font-family:var(--font-mc);color:var(--text);letter-spacing:.02em;font-size:clamp(1.05rem,1.4vw,1.3rem);transition:color .2s}.skill-item:hover .skill-name{color:var(--green-bright)}.skill-desc{font-family:var(--font-sans);color:var(--text-muted);font-size:.95rem;font-weight:400;line-height:1.6}.skill-level{font-family:var(--font-mc);color:var(--green-bright);text-align:right;background:var(--green-dim);letter-spacing:.06em;text-transform:uppercase;border:1px solid #86d56240;border-radius:20px;padding:.35rem .75rem;font-size:.75rem}.work-pinned{--work-color:#86d562;--work-color-dim:#86d56224;--work-color-dark:#3a6b25;background:#1a1a1a;max-width:none;height:400vh;position:relative}.work-sticky{align-items:center;width:100%;height:100vh;padding:0 3rem;display:flex;position:sticky;top:0;overflow:hidden;max-width:100%!important}.work-pinned .work-sticky{width:100%;max-width:100%!important}.work-inner{width:100%;max-width:var(--max-w);grid-template-columns:1fr 1.5fr;align-items:center;gap:5rem;margin:0 auto;display:grid}.work-label{font-family:var(--font-mc);color:var(--work-color);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.5rem;font-size:.85rem;transition:color .5s}.work-title{font-family:var(--font-mc);color:var(--text);letter-spacing:.03em;margin-bottom:1.5rem;font-size:clamp(2rem,4.5vw,3.8rem);line-height:1.15}.work-title .work-accent,.work-title span{transition:color .5s;color:var(--work-color)!important;text-shadow:none!important}.work-counter{font-family:var(--font-mc);color:var(--text-muted);letter-spacing:.05em;margin-bottom:1.5rem;font-size:1.1rem}.work-counter .current{color:var(--work-color);font-size:1.5rem;font-weight:800;transition:transform .4s,opacity .4s,color .5s;display:inline-block}.work-progress{flex-direction:column;gap:.5rem;margin-top:2rem;display:flex}.work-progress-bar{background:#ffffff1a;border-radius:2px;width:48px;height:3px;position:relative;overflow:hidden}.work-progress-bar:after{content:"";background:var(--work-color);width:0%;height:100%;transition:width var(--slide-duration) cubic-bezier(.76, 0, .24, 1), background .5s ease;border-radius:2px;position:absolute;top:0;left:0}.work-progress-bar.active:after{width:100%}.work-hint{font-family:var(--font-sans);color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.75rem;margin-top:1.5rem;font-size:.8rem;font-weight:500;transition:opacity .6s;display:flex}.work-hint:before{content:"↓";color:var(--work-color);transition:color .5s;animation:1.4s ease-in-out infinite heroBlink}.work-hint.hidden{opacity:0}.work-right{height:72vh;min-height:520px;max-height:680px;position:relative}.work-slide{opacity:0;pointer-events:none;visibility:hidden;flex-direction:column;justify-content:center;display:flex;position:absolute;inset:0}.work-slide.leaving{opacity:0;transition:opacity var(--slide-duration) cubic-bezier(.76, 0, .24, 1);visibility:visible}.work-slide.entering,.work-slide.active{opacity:1;visibility:visible;pointer-events:auto}.work-slide.idle{opacity:0;visibility:hidden;transition:none}.work-slide-image{border:1px solid var(--border);opacity:0;width:100%;height:clamp(210px,32vh,270px);transition:transform var(--slide-duration) cubic-bezier(.22, 1, .36, 1) .1s, opacity var(--slide-duration) cubic-bezier(.22, 1, .36, 1) .1s, box-shadow .3s ease, border-color .3s ease;background:#101010;border-radius:8px;flex-shrink:0;margin-bottom:1.25rem;position:relative;overflow:hidden;transform:translateY(30px)}.work-slide.entering .work-slide-image,.work-slide.active .work-slide-image{opacity:1;transform:translateY(0)}.work-slide.leaving .work-slide-image{opacity:0;transition-delay:0s;transform:translateY(-20px)}.work-slide-image-inner{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.work-slide-image-inner img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .4s;display:block}.work-slide-image:hover{border-color:#86d5624d;box-shadow:0 0 30px #86d5621a}.work-slide-image:hover img{transform:scale(1.02)}.work-slide-meta{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.work-slide-info{opacity:0;transition:transform var(--slide-duration) cubic-bezier(.22, 1, .36, 1) .2s, opacity var(--slide-duration) cubic-bezier(.22, 1, .36, 1) .2s;transform:translate(-40px)}.work-slide.entering .work-slide-info,.work-slide.active .work-slide-info{opacity:1;transform:translate(0)}.work-slide.leaving .work-slide-info{opacity:0;transition-delay:0s;transform:translate(30px)}.work-slide-info h3{font-family:var(--font-mc);color:var(--text);letter-spacing:.02em;margin-bottom:.5rem;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.2}.work-slide-info h3 .accent{color:var(--green-bright)}.work-slide-info .year{font-family:var(--font-sans);color:var(--text-dim);letter-spacing:.04em;margin-bottom:.75rem;font-size:.8rem;font-weight:500}.work-slide-info p{font-family:var(--font-sans);color:var(--text-muted);max-width:380px;font-size:.95rem;font-weight:400;line-height:1.65}.work-slide-tech{opacity:0;transition:transform var(--slide-duration) cubic-bezier(.22, 1, .36, 1) .3s, opacity var(--slide-duration) cubic-bezier(.22, 1, .36, 1) .3s;flex-wrap:wrap;align-self:center;gap:.4rem;display:flex;transform:translateY(20px)}.work-slide.entering .work-slide-tech,.work-slide.active .work-slide-tech{opacity:1;transform:translateY(0)}.work-slide.leaving .work-slide-tech{opacity:0;transition-delay:0s;transform:translateY(-15px)}.work-slide-tech span{font-family:var(--font-sans);color:var(--work-color);letter-spacing:.04em;border:1px solid var(--work-color);background:var(--work-color-dim);border-radius:20px;padding:.3rem .7rem;font-size:.8rem;font-weight:600;transition:color .5s,border-color .5s,background .5s}.work-slide-link{font-family:var(--font-mc);color:#fff;letter-spacing:.06em;text-transform:uppercase;background:var(--work-color);box-shadow:0 4px 0 var(--work-color-dark);border:none;border-radius:4px;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem 1.4rem;font-size:.95rem;text-decoration:none;transition:background .5s,gap .15s,transform .15s,filter .15s,box-shadow .15s;display:inline-flex}.work-slide-link:hover{filter:brightness(1.15);box-shadow:0 6px 0 var(--work-color-dark);gap:1.1rem;transform:translateY(-2px)}.work-slide-link:active{box-shadow:0 2px 0 var(--work-color-dark);transform:translateY(2px)}.work-slide-link:after{content:"→"}.experience-list{flex-direction:column;display:flex}.experience-item{border-top:1px solid var(--border-subtle);grid-template-columns:180px 1fr;gap:3rem;padding:2.5rem 0;transition:all .2s;display:grid}.experience-item:last-child{border-bottom:1px solid var(--border-subtle)}.experience-item:hover{border-top-color:#86d56233;padding-left:.75rem}.experience-date{font-family:var(--font-mc);color:var(--green-bright);background:var(--green-dim);text-align:center;letter-spacing:.04em;border:1px solid #86d56233;border-radius:4px;align-self:start;padding:.4rem .75rem;font-size:.85rem;font-weight:600}.experience-content h3{font-family:var(--font-mc);color:var(--text);letter-spacing:.02em;margin-bottom:.4rem;font-size:clamp(1.15rem,1.8vw,1.5rem)}.experience-content h3 .accent{color:var(--green-bright)}.experience-company{font-family:var(--font-sans);color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;margin-bottom:1rem;font-size:.85rem;font-weight:500}.experience-desc{font-family:var(--font-sans);color:var(--text-muted);max-width:600px;font-size:1rem;font-weight:400;line-height:1.7}.contact{background:#1a1a1a;flex-direction:column;justify-content:center;max-width:none;min-height:100vh;padding:8rem 3rem;display:flex}.contact>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}.contact-label{font-family:var(--font-mc);color:var(--green-bright);letter-spacing:.14em;text-transform:uppercase;margin-bottom:2rem;font-size:.85rem;display:block}.contact-heading{font-family:var(--font-mc);color:var(--text);letter-spacing:.02em;max-width:900px;margin-bottom:3rem;font-size:clamp(2rem,4vw,3.6rem);line-height:1.25}.contact-heading .accent{color:var(--green-bright)}.contact-cta{font-family:var(--font-mc);color:#0b1a06;letter-spacing:.06em;text-transform:uppercase;background:var(--green-bright);border:none;border-radius:4px;align-self:flex-start;align-items:center;gap:1rem;padding:.95rem 1.8rem;font-size:1.05rem;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 4px #387714}.contact-cta:hover{background:#9cf076;gap:1.4rem;transform:translateY(-2px);box-shadow:0 6px #387714}.contact-cta:active{transform:translateY(2px);box-shadow:0 2px #387714}.contact-cta:after{content:"→"}.contact-info{grid-template-columns:repeat(3,1fr);gap:2rem;max-width:900px;margin-top:4rem;display:grid}.contact-info-block{background:var(--bg-card);border:1px solid var(--border);border-top:2px solid var(--green-bright);border-radius:0 0 8px 8px;padding:1.5rem}.contact-info-block h4{font-family:var(--font-mc);color:var(--green-bright);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;font-size:.85rem}.contact-info-block a{font-family:var(--font-sans);color:var(--text-muted);font-size:.95rem;font-weight:400;line-height:1.8;text-decoration:none;transition:color .2s;display:block}.contact-info-block a:hover{color:var(--green-bright)}footer{border-top:1px solid var(--border);background:var(--bg-nav);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:2rem 3rem;display:flex}footer p{font-family:var(--font-sans);color:var(--text-dim);font-size:.85rem;font-weight:400}footer p .accent{color:var(--green-bright);font-weight:600}.accent{color:var(--green-bright)}.reveal-fade{opacity:0;transition:opacity .8s cubic-bezier(.76,0,.24,1),transform .8s cubic-bezier(.76,0,.24,1);transform:translateY(30px)}.reveal-fade.revealed{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transition:opacity .6s cubic-bezier(.76,0,.24,1),transform .6s cubic-bezier(.76,0,.24,1);transform:translateY(20px)}.reveal-stagger.revealed>*{opacity:1;transform:translateY(0)}.reveal-stagger.revealed>:first-child{transition-delay:0s}.reveal-stagger.revealed>:nth-child(2){transition-delay:.1s}.reveal-stagger.revealed>:nth-child(3){transition-delay:.2s}.reveal-stagger.revealed>:nth-child(4){transition-delay:.3s}.reveal-stagger.revealed>:nth-child(5){transition-delay:.4s}.reveal-stagger.revealed>:nth-child(6){transition-delay:.5s}.reveal-stagger.revealed>:nth-child(7){transition-delay:.6s}.reveal-stagger.revealed>:nth-child(8){transition-delay:.7s}@keyframes slideUp{to{transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}@media (max-width:1200px){.education-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:968px){nav .nav-links,nav .nav-time{display:none}nav .nav-inner{padding:0 1.25rem}.nav-logo{gap:.5rem;font-size:1rem}.nav-logo-img{width:28px;height:28px}.lang-btn{padding:.3rem .55rem;font-size:.75rem}.hero{justify-content:center;min-height:100svh;padding:5.5rem 1.25rem 3.5rem}.hero-tag{letter-spacing:.08em;margin-bottom:1.25rem;padding:.4rem .9rem;font-size:.75rem}.hero-name{word-break:break-word;margin-bottom:1.25rem;font-size:clamp(2.2rem,9vw,3.4rem);line-height:1.15}.hero-meta{gap:1.25rem;margin-top:1.5rem}.hero-description{border-radius:8px;max-width:100%;padding:1rem 1.2rem;font-size:.95rem;line-height:1.65}.hero-scroll{padding:.45rem .85rem;font-size:.75rem}.hero-corner{display:none}.marquee{padding:.85rem 0}.marquee-item{margin-right:1.5rem;font-size:.85rem}.marquee-dot{width:5px;height:5px;margin:0 1.5rem}section{padding:4.5rem 1.25rem}.section-header{margin-bottom:2.25rem;padding-bottom:1.25rem}.section-number{font-size:.8rem}.section-title{font-size:clamp(1.65rem,6vw,2.2rem)}.about-grid{grid-template-columns:1fr;gap:2.5rem}.about-text{font-size:.95rem;line-height:1.65}.about-text p{margin-bottom:1.25rem}.about-image-wrap{aspect-ratio:4/5;width:100%;max-width:320px;margin:0 auto}.tech-stack{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:1.25rem}.tech-stack li{padding:.5rem .65rem;font-size:.85rem}.education-grid{grid-template-columns:1fr;gap:1.25rem}.edu-card{padding:1.5rem 1.25rem}.edu-logo-wrap{width:76px;height:76px;margin-bottom:1rem}.edu-level{font-size:.75rem}.edu-name{font-size:1rem}.edu-detail{font-size:.85rem}.edu-year{padding:.25rem .55rem;font-size:.75rem}.skills-list{gap:.75rem}.skill-item{border:1px solid var(--border-subtle);background:#ffffff05;border-radius:6px;grid-template-columns:44px 1fr auto;grid-template-areas:"num name level""desc desc desc";align-items:center;gap:.5rem .75rem;padding:1.25rem .75rem;display:grid}.skill-item:last-child{border-bottom:1px solid var(--border-subtle)}.skill-number{text-align:center;grid-area:num;padding:.25rem .4rem;font-size:.75rem}.skill-name{grid-area:name;font-size:1.05rem}.skill-level{grid-area:level;padding:.25rem .55rem;font-size:.7rem;display:inline-block!important}.skill-desc{color:var(--text-muted);grid-area:desc;font-size:.88rem;line-height:1.55;display:block!important}.work-pinned{height:350vh;padding:0;position:relative}.work-sticky{justify-content:center;align-items:center;height:100svh;padding:4.5rem 1.25rem 1.5rem;display:flex;position:sticky;top:0;overflow:hidden}.work-inner{flex-direction:column;justify-content:space-between;gap:.5rem;width:100%;max-width:480px;height:100%;max-height:calc(100svh - 5.5rem);margin:0 auto;display:flex}.work-left{flex-direction:column;flex-shrink:0;gap:.25rem;margin-bottom:.25rem;display:flex}.work-label{margin-bottom:.15rem;font-size:.75rem}.work-title{margin-bottom:.35rem;font-size:clamp(1.35rem,5.2vw,1.75rem);line-height:1.15}.work-counter{color:var(--text-dim);align-items:baseline;gap:.35rem;margin-bottom:.35rem;font-size:.95rem;display:flex}.work-counter .current{color:var(--work-color);font-size:1.4rem;font-weight:800;transition:transform .4s,opacity .4s,color .5s}.work-progress{flex-direction:row;gap:.5rem;margin-top:0;margin-bottom:.35rem;display:flex}.work-progress-bar{cursor:pointer;background:#ffffff1f;border-radius:2px;width:44px;height:3px;position:relative;overflow:hidden}.work-progress-bar:after{content:"";background:var(--work-color);width:0%;height:100%;transition:width var(--slide-duration) cubic-bezier(.76, 0, .24, 1), background .5s ease;border-radius:2px;position:absolute;top:0;left:0}.work-progress-bar.active:after{width:100%}.work-hint{color:var(--text-dim);align-items:center;gap:.4rem;margin-top:.15rem;font-size:.72rem;transition:opacity .6s;display:flex}.work-hint:before{content:"↓";color:var(--work-color);transition:color .5s;animation:1.4s ease-in-out infinite heroBlink}.work-hint.hidden{opacity:0}.work-right{flex:1;width:100%;height:auto;min-height:0;max-height:none;display:block;position:relative}.work-slide{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--slide-duration) ease;box-shadow:none;background:0 0;border:none;flex-direction:column;justify-content:center;padding:0;display:flex;position:absolute;inset:0}.work-slide.active{opacity:1;visibility:visible;pointer-events:auto}.work-slide.leaving{opacity:0;visibility:visible;pointer-events:none;transition:opacity var(--slide-duration) cubic-bezier(.76, 0, .24, 1)}.work-slide.entering{opacity:1;visibility:visible;pointer-events:auto}.work-slide.idle{opacity:0;visibility:hidden;transition:none}.work-slide-image{border:1px solid var(--border);opacity:0;width:100%;height:clamp(140px,21vh,185px);transition:transform var(--slide-duration) cubic-bezier(.22, 1, .36, 1) .1s, opacity var(--slide-duration) cubic-bezier(.22, 1, .36, 1) .1s;border-radius:8px;flex-shrink:0;margin-bottom:.65rem;overflow:hidden;transform:translateY(20px)}.work-slide.entering .work-slide-image,.work-slide.active .work-slide-image{opacity:1;transform:translateY(0)}.work-slide.leaving .work-slide-image{opacity:0;transform:translateY(-15px)}.work-slide-meta{flex-direction:column;gap:.4rem;display:flex}.work-slide-info{opacity:0;transition:transform var(--slide-duration) cubic-bezier(.22, 1, .36, 1) .15s, opacity var(--slide-duration) cubic-bezier(.22, 1, .36, 1) .15s;transform:translate(-20px)}.work-slide.entering .work-slide-info,.work-slide.active .work-slide-info{opacity:1;transform:translate(0)}.work-slide.leaving .work-slide-info{opacity:0;transform:translate(20px)}.work-slide-info .year{margin-bottom:.2rem;font-size:.72rem}.work-slide-info h3{margin-bottom:.3rem;font-size:clamp(1.35rem,5vw,1.7rem)}.work-slide-info p{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:100%;margin-bottom:.5rem;font-size:.84rem;line-height:1.5;display:-webkit-box;overflow:hidden}.work-slide-tech{opacity:0;transition:transform var(--slide-duration) cubic-bezier(.22, 1, .36, 1) .2s, opacity var(--slide-duration) cubic-bezier(.22, 1, .36, 1) .2s;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem;display:flex;transform:translateY(15px)}.work-slide.entering .work-slide-tech,.work-slide.active .work-slide-tech{opacity:1;transform:translateY(0)}.work-slide.leaving .work-slide-tech{opacity:0;transform:translateY(-10px)}.work-slide-tech span{padding:.2rem .55rem;font-size:.7rem}.work-slide-link{text-align:center;justify-content:center;align-self:stretch;width:100%;margin-top:.25rem;padding:.65rem 1rem;font-size:.82rem}.experience-item{grid-template-columns:1fr;gap:.75rem;padding:1.75rem 0}.experience-date{align-self:flex-start;padding:.3rem .6rem;font-size:.75rem}.experience-content h3{font-size:1.15rem}.experience-company{margin-bottom:.6rem;font-size:.8rem}.experience-desc{max-width:100%;font-size:.9rem;line-height:1.6}.contact{min-height:auto;padding:4.5rem 1.25rem}.contact-label{margin-bottom:1.25rem;font-size:.8rem}.contact-heading{margin-bottom:2rem;font-size:clamp(1.8rem,6.5vw,2.5rem);line-height:1.25}.contact-cta{text-align:center;word-break:break-all;justify-content:center;width:100%;padding:.85rem 1.2rem;font-size:.85rem}.contact-info{grid-template-columns:1fr;gap:1.25rem;margin-top:2.5rem}.contact-info-block{padding:1.25rem}.contact-info-block h4{margin-bottom:.75rem;font-size:.8rem}footer{text-align:center;flex-direction:column;gap:.85rem;padding:2rem 1.25rem}footer>div{justify-content:center}}@media (max-width:480px){.hero-name{font-size:clamp(2rem,9.5vw,2.6rem)}.tech-stack{grid-template-columns:1fr}.nav-logo span{font-size:.88rem}.skill-item{padding:1.1rem .5rem}}
